Market Zone Analyzer[BullByte]Understanding the Market Zone Analyzer
---
1. Purpose of the Indicator
The Market Zone Analyzer is a Pine Script™ (version 6) indicator designed to streamline market analysis on TradingView. Rather than scanning multiple separate tools, it unifies four core dimensions—trend strength, momentum, price action, and market activity—into a single, consolidated view. By doing so, it helps traders:
• Save time by avoiding manual cross-referencing of disparate signals.
• Reduce decision-making errors that can arise from juggling multiple indicators.
• Gain a clear, reliable read on whether the market is in a bullish, bearish, or sideways phase, so they can more confidently decide to enter, exit, or hold a position.
---
2. Why a Trader Should Use It
• Unified View: Combines all essential market dimensions into one easy-to-read score and dashboard, eliminating the need to piece together signals manually.
• Adaptability: Automatically adjusts its internal weighting for trend, momentum, and price action based on current volatility. Whether markets are choppy or calm, the indicator remains relevant.
• Ease of Interpretation: Outputs a simple “BULLISH,” “BEARISH,” or “SIDEWAYS” label, supplemented by an intuitive on-chart dashboard and an oscillator plot that visually highlights market direction.
• Reliability Features: Built-in smoothing of the net score and hysteresis logic (requiring consecutive confirmations before flips) minimize false signals during noisy or range-bound phases.
---
3. Why These Specific Indicators?
This script relies on a curated set of well-established technical tools, each chosen for its particular strength in measuring one of the four core dimensions:
1. Trend Strength:
• ADX/DMI (Average Directional Index / Directional Movement Index): Measures how strong a trend is, and whether the +DI line is above the –DI line (bullish) or vice versa (bearish).
• Moving Average Slope (Fast MA vs. Slow MA): Compares a shorter-period SMA to a longer-period SMA; if the fast MA sits above the slow MA, it confirms an uptrend, and vice versa for a downtrend.
• Ichimoku Cloud Differential (Senkou A vs. Senkou B): Provides a forward-looking view of trend direction; Senkou A above Senkou B signals bullishness, and the opposite signals bearishness.
2. Momentum:
• Relative Strength Index (RSI): Identifies overbought (above its dynamically calculated upper bound) or oversold (below its lower bound) conditions; changes in RSI often precede price reversals.
• Stochastic %K: Highlights shifts in short-term momentum by comparing closing price to the recent high/low range; values above its upper band signal bullish momentum, below its lower band signal bearish momentum.
• MACD Histogram: Measures the difference between the MACD line and its signal line; a positive histogram indicates upward momentum, a negative histogram indicates downward momentum.
3. Price Action:
• Highest High / Lowest Low (HH/LL) Range: Over a defined lookback period, this captures breakout or breakdown levels. A closing price near the recent highs (with a positive MA slope) yields a bullish score, and near the lows (with a negative MA slope) yields a bearish score.
• Heikin-Ashi Doji Detection: Uses Heikin-Ashi candles to identify indecision or continuation patterns. A small Heikin-Ashi body (doji) relative to recent volatility is scored as neutral; a larger body in the direction of the MA slope is scored bullish or bearish.
• Candle Range Measurement: Compares each candle’s high-low range against its own dynamic band (average range ± standard deviation). Large candles aligning with the prevailing trend score bullish or bearish accordingly; unusually small candles can indicate exhaustion or consolidation.
4. Market Activity:
• Bollinger Bands Width (BBW): Measures the distance between BB upper and lower bands; wide bands indicate high volatility, narrow bands indicate low volatility.
• Average True Range (ATR): Quantifies average price movement (volatility). A sudden spike in ATR suggests a volatile environment, while a contraction suggests calm.
• Keltner Channels Width (KCW): Similar to BBW but uses ATR around an EMA. Provides a second layer of volatility context, confirming or contrasting BBW readings.
• Volume (with Moving Average): Compares current volume to its moving average ± standard deviation. High volume validates strong moves; low volume signals potential lack of conviction.
By combining these tools, the indicator captures trend direction, momentum strength, price-action nuances, and overall market energy, yielding a more balanced and comprehensive assessment than any single tool alone.
---
4. What Makes This Indicator Stand Out
• Multi-Dimensional Analysis: Rather than relying on a lone oscillator or moving average crossover, it simultaneously evaluates trend, momentum, price action, and activity.
• Dynamic Weighting: The relative importance of trend, momentum, and price action adjusts automatically based on real-time volatility (Market Activity State). For example, in highly volatile conditions, trend and momentum signals carry more weight; in calm markets, price action signals are prioritized.
• Stability Mechanisms:
• Smoothing: The net score is passed through a short moving average, filtering out noise, especially on lower timeframes.
• Hysteresis: Both Market Activity State and the final bullish/bearish/sideways zone require two consecutive confirmations before flipping, reducing whipsaw.
• Visual Interpretation: A fully customizable on-chart dashboard displays each sub-indicator’s value, regime, score, and comment, all color-coded. The oscillator plot changes color to reflect the current market zone (green for bullish, red for bearish, gray for sideways) and shows horizontal threshold lines at +2, 0, and –2.
---
5. Recommended Timeframes
• Short-Term (5 min, 15 min): Day traders and scalpers can benefit from rapid signals, but should enable smoothing (and possibly disable hysteresis) to reduce false whipsaws.
• Medium-Term (1 h, 4 h): Swing traders find a balance between responsiveness and reliability. Less smoothing is required here, and the default parameters (e.g., ADX length = 14, RSI length = 14) perform well.
• Long-Term (Daily, Weekly): Position traders tracking major trends can disable smoothing for immediate raw readings, since higher-timeframe noise is minimal. Adjust lookback lengths (e.g., increase adxLength, rsiLength) if desired for slower signals.
Tip: If you keep smoothing off, stick to timeframes of 1 h or higher to avoid excessive signal “chatter.”
---
6. How Scoring Works
A. Individual Indicator Scores
Each sub-indicator is assigned one of three discrete scores:
• +1 if it indicates a bullish condition (e.g., RSI above its dynamically calculated upper bound).
• 0 if it is neutral (e.g., RSI between upper and lower bounds).
• –1 if it indicates a bearish condition (e.g., RSI below its dynamically calculated lower bound).
Examples of individual score assignments:
• ADX/DMI:
• +1 if ADX ≥ adxThreshold and +DI > –DI (strong bullish trend)
• –1 if ADX ≥ adxThreshold and –DI > +DI (strong bearish trend)
• 0 if ADX < adxThreshold (trend strength below threshold)
• RSI:
• +1 if RSI > RSI_upperBound
• –1 if RSI < RSI_lowerBound
• 0 otherwise
• ATR (as part of Market Activity):
• +1 if ATR > (ATR_MA + stdev(ATR))
• –1 if ATR < (ATR_MA – stdev(ATR))
• 0 otherwise
Each of the four main categories shares this same +1/0/–1 logic across their sub-components.
B. Category Scores
Once each sub-indicator reports +1, 0, or –1, these are summed within their categories as follows:
• Trend Score = (ADX score) + (MA slope score) + (Ichimoku differential score)
• Momentum Score = (RSI score) + (Stochastic %K score) + (MACD histogram score)
• Price Action Score = (Highest-High/Lowest-Low score) + (Heikin-Ashi doji score) + (Candle range score)
• Market Activity Raw Score = (BBW score) + (ATR score) + (KC width score) + (Volume score)
Each category’s summed value can range between –3 and +3 (for Trend, Momentum, and Price Action), and between –4 and +4 for Market Activity raw.
C. Market Activity State and Dynamic Weight Adjustments
Rather than contributing directly to the netScore like the other three categories, Market Activity determines how much weight to assign to Trend, Momentum, and Price Action:
1. Compute Market Activity Raw Score by summing BBW, ATR, KCW, and Volume individual scores (each +1/0/–1).
2. Bucket into High, Medium, or Low Activity:
• High if raw Score ≥ 2 (volatile market).
• Low if raw Score ≤ –2 (calm market).
• Medium otherwise.
3. Apply Hysteresis (if enabled): The state only flips after two consecutive bars register the same high/low/medium label.
4. Set Category Weights:
• High Activity: Trend = 50 %, Momentum = 35 %, Price Action = 15 %.
• Low Activity: Trend = 25 %, Momentum = 20 %, Price Action = 55 %.
• Medium Activity: Use the trader’s base weight inputs (e.g., Trend = 40 %, Momentum = 30 %, Price Action = 30 % by default).
D. Calculating the Net Score
5. Normalize Base Weights (so that the sum of Trend + Momentum + Price Action always equals 100 %).
6. Determine Current Weights based on the Market Activity State (High/Medium/Low).
7. Compute Each Category’s Contribution: Multiply (categoryScore) × (currentWeight).
8. Sum Contributions to get the raw netScore (a floating-point value that can exceed ±3 when scores are strong).
9. Smooth the netScore over two bars (if smoothing is enabled) to reduce noise.
10. Apply Hysteresis to the Final Zone:
• If the smoothed netScore ≥ +2, the bar is classified as “Bullish.”
• If the smoothed netScore ≤ –2, the bar is classified as “Bearish.”
• Otherwise, it is “Sideways.”
• To prevent rapid flips, the script requires two consecutive bars in the new zone before officially changing the displayed zone (if hysteresis is on).
E. Thresholds for Zone Classification
• BULLISH: netScore ≥ +2
• BEARISH: netScore ≤ –2
• SIDEWAYS: –2 < netScore < +2
---
7. Role of Volatility (Market Activity State) in Scoring
Volatility acts as a dynamic switch that shifts which category carries the most influence:
1. High Activity (Volatile):
• Detected when at least two sub-scores out of BBW, ATR, KCW, and Volume equal +1.
• The script sets Trend weight = 50 % and Momentum weight = 35 %. Price Action weight is minimized at 15 %.
• Rationale: In volatile markets, strong trending moves and momentum surges dominate, so those signals are more reliable than nuanced candle patterns.
2. Low Activity (Calm):
• Detected when at least two sub-scores out of BBW, ATR, KCW, and Volume equal –1.
• The script sets Price Action weight = 55 %, Trend = 25 %, and Momentum = 20 %.
• Rationale: In quiet, sideways markets, subtle price-action signals (breakouts, doji patterns, small-range candles) are often the best early indicators of a new move.
3. Medium Activity (Balanced):
• Raw Score between –1 and +1 from the four volatility metrics.
• Uses whatever base weights the trader has specified (e.g., Trend = 40 %, Momentum = 30 %, Price Action = 30 %).
Because volatility can fluctuate rapidly, the script employs hysteresis on Market Activity State: a new High or Low state must occur on two consecutive bars before weights actually shift. This avoids constant back-and-forth weight changes and provides more stability.
---
8. Scoring Example (Hypothetical Scenario)
• Symbol: Bitcoin on a 1-hour chart.
• Market Activity: Raw volatility sub-scores show BBW (+1), ATR (+1), KCW (0), Volume (+1) → Total raw Score = +3 → High Activity.
• Weights Selected: Trend = 50 %, Momentum = 35 %, Price Action = 15 %.
• Trend Signals:
• ADX strong and +DI > –DI → +1
• Fast MA above Slow MA → +1
• Ichimoku Senkou A > Senkou B → +1
→ Trend Score = +3
• Momentum Signals:
• RSI above upper bound → +1
• MACD histogram positive → +1
• Stochastic %K within neutral zone → 0
→ Momentum Score = +2
• Price Action Signals:
• Highest High/Lowest Low check yields 0 (close not near extremes)
• Heikin-Ashi doji reading is neutral → 0
• Candle range slightly above upper bound but trend is strong, so → +1
→ Price Action Score = +1
• Compute Net Score (before smoothing):
• Trend contribution = 3 × 0.50 = 1.50
• Momentum contribution = 2 × 0.35 = 0.70
• Price Action contribution = 1 × 0.15 = 0.15
• Raw netScore = 1.50 + 0.70 + 0.15 = 2.35
• Since 2.35 ≥ +2 and hysteresis is met, the final zone is “Bullish.”
Although the netScore lands at 2.35 (Bullish), smoothing might bring it slightly below 2.00 on the first bar (e.g., 1.90), in which case the script would wait for a second consecutive reading above +2 before officially classifying the zone as Bullish (if hysteresis is enabled).
---
9. Correlation Between Categories
The four categories—Trend Strength, Momentum, Price Action, and Market Activity—often reinforce or offset one another. The script takes advantage of these natural correlations:
• Bullish Alignment: If ADX is strong and pointed upward, fast MA is above slow MA, and Ichimoku is positive, that usually coincides with RSI climbing above its upper bound and the MACD histogram turning positive. In such cases, both Trend and Momentum categories generate +1 or +2. Because the Market Activity State is likely High (given the accompanying volatility), Trend and Momentum weights are at their peak, so the netScore quickly crosses into Bullish territory.
• Sideways/Consolidation: During a low-volatility, sideways phase, ADX may fall below its threshold, MAs may flatten, and RSI might hover in the neutral band. However, subtle price-action signals (like a small breakout candle or a Heikin-Ashi candle with a slight bias) can still produce a +1 in the Price Action category. If Market Activity is Low, Price Action’s weight (55 %) can carry enough influence—even if Trend and Momentum are neutral—to push the netScore out of “Sideways” into a mild bullish or bearish bias.
• Opposing Signals: When Trend is bullish but Momentum turns negative (for example, price continues up but RSI rolls over), the two scores can partially cancel. Market Activity may remain Medium, in which case the netScore lingers near zero (Sideways). The trader can then wait for either a clearer momentum shift or a fresh price-action breakout before committing.
By dynamically recognizing these correlations and adjusting weights, the indicator ensures that:
• When Trend and Momentum align (and volatility supports it), the netScore leaps strongly into Bullish or Bearish.
• When Trend is neutral but Price Action shows an early move in a low-volatility environment, Price Action’s extra weight in the Low Activity State can still produce actionable signals.
---
10. Market Activity State & Its Role (Detailed)
The Market Activity State is not a direct category score—it is an overarching context setter for how heavily to trust Trend, Momentum, or Price Action. Here’s how it is derived and applied:
1. Calculate Four Volatility Sub-Scores:
• BBW: Compare the current band width to its own moving average ± standard deviation. If BBW > (BBW_MA + stdev), assign +1 (high volatility); if BBW < (BBW_MA × 0.5), assign –1 (low volatility); else 0.
• ATR: Compare ATR to its moving average ± standard deviation. A spike above the upper threshold is +1; a contraction below the lower threshold is –1; otherwise 0.
• KCW: Same logic as ATR but around the KCW mean.
• Volume: Compare current volume to its volume MA ± standard deviation. Above the upper threshold is +1; below the lower threshold is –1; else 0.
2. Sum Sub-Scores → Raw Market Activity Score: Range between –4 and +4.
3. Assign Market Activity State:
• High Activity: Raw Score ≥ +2 (at least two volatility metrics are strongly spiking).
• Low Activity: Raw Score ≤ –2 (at least two metrics signal unusually low volatility or thin volume).
• Medium Activity: Raw Score is between –1 and +1 inclusive.
4. Hysteresis for Stability:
• If hysteresis is enabled, a new state only takes hold after two consecutive bars confirm the same High, Medium, or Low label.
• This prevents the Market Activity State from bouncing around when volatility is on the fence.
5. Set Category Weights Based on Activity State:
• High Activity: Trend = 50 %, Momentum = 35 %, Price Action = 15 %.
• Low Activity: Trend = 25 %, Momentum = 20 %, Price Action = 55 %.
• Medium Activity: Use trader’s base weights (e.g., Trend = 40 %, Momentum = 30 %, Price Action = 30 %).
6. Impact on netScore: Because category scores (–3 to +3) multiply by these weights, High Activity amplifies the effect of strong Trend and Momentum scores; Low Activity amplifies the effect of Price Action.
7. Market Context Tooltip: The dashboard includes a tooltip summarizing the current state—e.g., “High activity, trend and momentum prioritized,” “Low activity, price action prioritized,” or “Balanced market, all categories considered.”
---
11. Category Weights: Base vs. Dynamic
Traders begin by specifying base weights for Trend Strength, Momentum, and Price Action that sum to 100 %. These apply only when volatility is in the Medium band. Once volatility shifts:
• High Volatility Overrides:
• Trend jumps from its base (e.g., 40 %) to 50 %.
• Momentum jumps from its base (e.g., 30 %) to 35 %.
• Price Action is reduced to 15 %.
Example: If base weights were Trend = 40 %, Momentum = 30 %, Price Action = 30 %, then in High Activity they become 50/35/15. A Trend score of +3 now contributes 3 × 0.50 = +1.50 to netScore; a Momentum +2 contributes 2 × 0.35 = +0.70. In total, Trend + Momentum can easily push netScore above the +2 threshold on its own.
• Low Volatility Overrides:
• Price Action leaps from its base (30 %) to 55 %.
• Trend falls to 25 %, Momentum falls to 20 %.
Why? When markets are quiet, subtle candle breakouts, doji patterns, and small-range expansions tend to foreshadow the next swing more effectively than raw trend readings. A Price Action score of +3 in this state contributes 3 × 0.55 = +1.65, which can carry the netScore toward +2—even if Trend and Momentum are neutral or only mildly positive.
Because these weight shifts happen only after two consecutive bars confirm a High or Low state (if hysteresis is on), the indicator avoids constantly flipping its emphasis during borderline volatility phases.
---
12. Dominant Category Explained
Within the dashboard, a label such as “Trend Dominant,” “Momentum Dominant,” or “Price Action Dominant” appears when one category’s absolute weighted contribution to netScore is the largest. Concretely:
• Compute each category’s weighted contribution = (raw category score) × (current weight).
• Compare the absolute values of those three contributions.
• The category with the highest absolute value is flagged as Dominant for that bar.
Why It Matters:
• Momentum Dominant: Indicates that the combined force of RSI, Stochastic, and MACD (after weighting) is pushing netScore farther than either Trend or Price Action. In practice, it means that short-term sentiment and speed of change are the primary drivers right now, so traders should watch for continued momentum signals before committing to a trade.
• Trend Dominant: Means ADX, MA slope, and Ichimoku (once weighted) outweigh the other categories. This suggests a strong directional move is in place; trend-following entries or confirming pullbacks are likely to succeed.
• Price Action Dominant: Occurs when breakout/breakdown patterns, Heikin-Ashi candle readings, and range expansions (after weighting) are the most influential. This often happens in calmer markets, where subtle shifts in candle structure can foreshadow bigger moves.
By explicitly calling out which category is carrying the most weight at any moment, the dashboard gives traders immediate insight into why the netScore is tilting toward bullish, bearish, or sideways.
---
13. Oscillator Plot: How to Read It
The “Net Score” oscillator sits below the dashboard and visually displays the smoothed netScore as a line graph. Key features:
1. Value Range: In normal conditions it oscillates roughly between –3 and +3, but extreme confluences can push it outside that range.
2. Horizontal Threshold Lines:
• +2 Line (Bullish threshold)
• 0 Line (Neutral midline)
• –2 Line (Bearish threshold)
3. Zone Coloring:
• Green Background (Bullish Zone): When netScore ≥ +2.
• Red Background (Bearish Zone): When netScore ≤ –2.
• Gray Background (Sideways Zone): When –2 < netScore < +2.
4. Dynamic Line Color:
• The plotted netScore line itself is colored green in a Bullish Zone, red in a Bearish Zone, or gray in a Sideways Zone, creating an immediate visual cue.
Interpretation Tips:
• Crossing Above +2: Signals a strong enough combined trend/momentum/price-action reading to classify as Bullish. Many traders wait for a clear crossing plus a confirmation candle before entering a long position.
• Crossing Below –2: Indicates a strong Bearish signal. Traders may consider short or exit strategies.
• Rising Slope, Even Below +2: If netScore climbs steadily from neutral toward +2, it demonstrates building bullish momentum.
• Divergence: If price makes a higher high but the oscillator fails to reach a new high, it can warn of weakening momentum and a potential reversal.
---
14. Comments and Their Necessity
Every sub-indicator (ADX, MA slope, Ichimoku, RSI, Stochastic, MACD, HH/LL, Heikin-Ashi, Candle Range, BBW, ATR, KCW, Volume) generates a short comment that appears in the detailed dashboard. Examples:
• “Strong bullish trend” or “Strong bearish trend” for ADX/DMI
• “Fast MA above slow MA” or “Fast MA below slow MA” for MA slope
• “RSI above dynamic threshold” or “RSI below dynamic threshold” for RSI
• “MACD histogram positive” or “MACD histogram negative” for MACD Hist
• “Price near highs” or “Price near lows” for HH/LL checks
• “Bullish Heikin Ashi” or “Bearish Heikin Ashi” for HA Doji scoring
• “Large range, trend confirmed” or “Small range, trend contradicted” for Candle Range
Additionally, the top-row comment for each category is:
• Trend: “Highly Bullish,” “Highly Bearish,” or “Neutral Trend.”
• Momentum: “Strong Momentum,” “Weak Momentum,” or “Neutral Momentum.”
• Price Action: “Bullish Action,” “Bearish Action,” or “Neutral Action.”
• Market Activity: “Volatile Market,” “Calm Market,” or “Stable Market.”
Reasons for These Comments:
• Transparency: Shows exactly how each sub-indicator contributed to its category score.
• Education: Helps traders learn why a category is labeled bullish, bearish, or neutral, building intuition over time.
• Customization: If, for example, the RSI comment says “RSI neutral” despite an impending trend shift, a trader might choose to adjust RSI length or thresholds.
In the detailed dashboard, hovering over each comment cell also reveals a tooltip with additional context (e.g., “Fast MA above slow MA” or “Senkou A above Senkou B”), helping traders understand the precise rule behind that +1, 0, or –1 assignment.
---
15. Real-Life Example (Consolidated)
• Instrument & Timeframe: Bitcoin (BTCUSD), 1-hour chart.
• Current Market Activity: BBW and ATR both spike (+1 each), KCW is moderately high (+1), but volume is only neutral (0) → Raw Market Activity Score = +2 → State = High Activity (after two bars, if hysteresis is on).
• Category Weights Applied: Trend = 50 %, Momentum = 35 %, Price Action = 15 %.
• Trend Sub-Scores:
1. ADX = 25 (above threshold 20) with +DI > –DI → +1.
2. Fast MA (20-period) sits above Slow MA (50-period) → +1.
3. Ichimoku: Senkou A > Senkou B → +1.
→ Trend Score = +3.
• Momentum Sub-Scores:
4. RSI = 75 (above its moving average +1 stdev) → +1.
5. MACD histogram = +0.15 → +1.
6. Stochastic %K = 50 (mid-range) → 0.
→ Momentum Score = +2.
• Price Action Sub-Scores:
7. Price is not within 1 % of the 20-period high/low and slope = positive → 0.
8. Heikin-Ashi body is slightly larger than stdev over last 5 bars with haClose > haOpen → +1.
9. Candle range is just above its dynamic upper bound but trend is already captured, so → +1.
→ Price Action Score = +2.
• Calculate netScore (before smoothing):
• Trend contribution = 3 × 0.50 = 1.50
• Momentum contribution = 2 × 0.35 = 0.70
• Price Action contribution = 2 × 0.15 = 0.30
• Raw netScore = 1.50 + 0.70 + 0.30 = 2.50 → Immediately classified as Bullish.
• Oscillator & Dashboard Output:
• The oscillator line crosses above +2 and turns green.
• Dashboard displays:
• Trend Regime “BULLISH,” Trend Score = 3, Comment = “Highly Bullish.”
• Momentum Regime “BULLISH,” Momentum Score = 2, Comment = “Strong Momentum.”
• Price Action Regime “BULLISH,” Price Action Score = 2, Comment = “Bullish Action.”
• Market Activity State “High,” Comment = “Volatile Market.”
• Weights: Trend 50 %, Momentum 35 %, Price Action 15 %.
• Dominant Category: Trend (because 1.50 > 0.70 > 0.30).
• Overall Score: 2.50, posCount = (three +1s in Trend) + (two +1s in Momentum) + (two +1s in Price Action) = 7 bullish signals, negCount = 0.
• Final Zone = “BULLISH.”
• The trader sees that both Trend and Momentum are reinforcing each other under high volatility. They might wait one more candle for confirmation but already have strong evidence to consider a long.
---
• .
---
Disclaimer
This indicator is strictly a technical analysis tool and does not constitute financial advice. All trading involves risk, including potential loss of capital. Past performance is not indicative of future results. Traders should:
• Always backtest the “Market Zone Analyzer ” on their chosen symbols and timeframes before committing real capital.
• Combine this tool with sound risk management, position sizing, and, if possible, fundamental analysis.
• Understand that no indicator is foolproof; always be prepared for unexpected market moves.
Goodluck
-BullByte!
---
Cerca negli script per "high low"
Opening Range Breakout with John Wick + CDH/CDLOpening Range Breakout (ORB) De Luxe with John Wick Pattern - User Manual Table of Contents
1. Introduction
2. Key Features
3. Installation
4. Configuration Guide
5. Trading Signals
6. Pattern Recognition
7. Zone Trading
8. Alert Setup
9. Trading Strategies
10. Best Practices
11. Troubleshooting
________________________________________
1. Introduction The Opening Range Breakout (ORB) with John Wick indicator is a comprehensive trading tool designed for intraday and swing traders. It combines the classic Opening Range Breakout strategy with advanced candlestick pattern recognition, including the unique "John Wick" pattern. What is Opening Range Breakout? The Opening Range (OR) is the price range established during the first 15 minutes of a trading session. This range often acts as support and resistance for the remainder of the trading day. Breakouts above or below this range can signal strong directional moves. Key Concepts: • Opening Range High: The highest price during the first 15 minutes • Opening Range Low: The lowest price during the first 15 minutes • Breakout: Price movement above OR High (bullish) or below OR Low (bearish) • Pattern Zones: Areas around key levels where pattern recognition is most effective • PDH/PDL: Previous Day High and Previous Day Low - key reference levels from the prior trading day • CDH/CDL: Current Day High and Current Day Low - dynamically updating intraday extremes
________________________________________
2. Key Features Core Features: • Multi-Session Support: New York, London, Tokyo, Sydney, Frankfurt, and Custom sessions • Opening Range Visualization: Automatic OR High/Low detection and plotting • Pattern Recognition: Engulfing, Hammer/Shooting Star, Doji, and John Wick patterns • Zone Trading: Customizable zones around OR and PDH/PDL/CDH/CDL levels • Previous Day Levels: PDH (Previous Day High) and PDL (Previous Day Low) • Current Day Levels: CDH (Current Day High) and CDL (Current Day Low) - real-time tracking • Mid-Point Levels: Automatic calculation of OR mid-point • Real-Time Alerts: Breakout and pattern-based alerts • Multi-Timezone Support: Exchange or custom timezone selection Visual Features: • Dynamic color-coded levels • Triangle signals for breakouts • Pattern labels with clear identification • Information table with current session data • Fully customizable colors and styles
________________________________________
3. Installation Step 1: Add to Chart
4. Open TradingView and navigate to your desired chart
5. Click on "Indicators" (or press /)
6. Search for "Opening Range Breakout with John Wick"
7. Click to add the indicator to your chart Step 2: Initial Setup
8. The indicator will automatically detect your chart's timezone
9. Default session is set to "New York"
10. All features are enabled by default Recommended Timeframes: • Optimal: 1-minute to 15-minute charts • Suitable: Up to 1-hour charts • Not Recommended: Daily or higher timeframes
________________________________________
4. Configuration Guide Timezone Settings Use Exchange Timezone • Enabled (Default): Uses the exchange's native timezone • Disabled: Uses chart timezone or custom selection Timezone Selection Available when "Use Exchange Timezone" is disabled: • America/New_York • Europe/London • Europe/Amsterdam • Asia/Tokyo • Australia/Sydney Session Selection Trading Sessions • Sydney: 09:00-16:00 Sydney time • Tokyo: 09:00-15:00 Tokyo time • London: 08:00-16:30 London time • Frankfurt: 09:00-17:30 Frankfurt time • New York: 09:30-16:00 New York time • Custom: User-defined session • Previous Sessions: Shows multiple historical ORs Custom Session Settings • Custom Session Time: Define your own trading hours • Custom Session Name: Label for your custom session Display Options Line Settings • Line Width: 1-5 (Default: 2) • Line Style: Solid, Dashed, or Dotted • Show Current Only: Hide historical OR lines • Show Session Name: Display session label on chart Color Customization • OR Resistance (High): Default red • OR Support (Low): Default green • Session Colors: Unique color per session type • Zone Colors: Separate colors for OR and PDH/PDL zones Pattern Zone Settings Zone Configuration • Show Pattern Detection Zone: Enable/disable zones • OR Zone Size: Percentage of OR range (Default: 2%) • PDH/PDL Zone Size: Percentage of PDH-PDL range (Default: 1.5%) • CDH/CDL Zone Size: Percentage of CDH-CDL range (Default: 1.5%) • Show Zone Labels: Display zone boundary values • Only Detect Patterns in Zone: Limit pattern detection to zones Mid-Point Settings • Show Opening Range Mid-Point: Display OR midline • Mid-Point Color: Default gray • Mid-Point Style: Dotted, Dashed, or Solid • Show Mid-Point Label: Display midpoint value Previous Day Levels • Show Previous Day High/Low: Enable PDH/PDL lines • PDH/PDL Colors: Default yellow • PDH/PDL Line Style: Customizable style • Show PDH/PDL Labels: Display level values
Current Day Levels • Show Current Day High/Low: Enable CDH/CDL lines • CDH/CDL Colors: Default blue • CDH/CDL Line Style: Customizable style • Show CDH/CDL Labels: Display level values • Update Frequency: Real-time updates as new highs/lows are made
________________________________________
5. Trading Signals Signal Types
6. Breakout Signals • Bullish (Buy): Green triangle below candle when price breaks above OR High • Bearish (Sell): Red triangle above candle when price breaks below OR Low
7. Pattern-Enhanced Signals Signals are generated when breakouts occur WITH confirming patterns: • Stronger probability of follow-through • Reduced false breakouts • Better risk/reward setups Signal Configuration Alert Settings • Enable Alerts: Turn alerts on/off • Show Buy/Sell Signals: Visual signals on chart • Show Signal Text: Display "BUY"/"SELL" labels Pattern Filter Options • Use Candle Pattern Filter: Require patterns for signals • Pattern Combination Mode: o Any Pattern: Signal on any single pattern o Multiple Patterns: Require minimum pattern count o Specific Combo: Require specific pattern combinations
________________________________________
6. Pattern Recognition Supported Patterns
7. Engulfing Pattern • Bullish Engulfing: Large green candle completely engulfs previous red candle • Bearish Engulfing: Large red candle completely engulfs previous green candle • Label: "E"
8. Hammer/Shooting Star • Hammer: Small body at top, long lower wick (2x body size) • Shooting Star: Small body at bottom, long upper wick (2x body size) • Labels: "H" (Hammer), "S" (Shooting Star)
9. Doji Pattern • Definition: Open and close nearly equal (body < 10% of average) • Significance: Indecision, potential reversal • Label: "D"
10. John Wick Pattern (Unique Feature) • Bullish John Wick: o Opens below previous candle's low o 30-70% of body extends below previous low o Strong momentum indication • Bearish John Wick: o Opens above previous candle's high o 30-70% of body extends above previous high • Label: "JW" Pattern Visualization • Pattern Markers: Small circular labels with pattern abbreviations • Pattern Count: Number showing total patterns detected • Pattern Background: Optional highlighting (disabled by default) • Positioning: o Bullish patterns: Below candles at varying distances o Bearish patterns: Above candles at varying distances
________________________________________
7. Zone Trading Zone Concept Zones are buffer areas around key levels where price action and patterns are monitored more closely. Zone Types
8. Opening Range Zones • OR High Zone: Area around the OR High level • OR Low Zone: Area around the OR Low level • Purpose: Identify potential breakout or rejection areas
9. PDH/PDL Zones • PDH Zone: Area around Previous Day High • PDL Zone: Area around Previous Day Low • Purpose: Monitor reactions at key daily levels
10. CDH/CDL Zones • CDH Zone: Area around Current Day High • CDL Zone: Area around Current Day Low • Purpose: Track reactions at evolving intraday extremes • Dynamic Nature: These zones move as new highs/lows are established Zone Features • Visual Representation: Semi-transparent colored boxes • Customizable Size: Percentage-based calculation • Pattern Detection: Option to only detect patterns within zones • Bar Coloring: Candles change color when in zones Zone Trading Strategy
11. Wait for price to enter a zone
12. Look for pattern formation within the zone
13. Trade breakouts with pattern confirmation
14. Use zone boundaries as stop-loss references
________________________________________
8. Alert Setup Creating Alerts Step 1: Basic Alert Setup
9. Right-click on the chart
10. Select "Add Alert"
11. Choose "ORB The Luxe" from Condition dropdown
12. Select alert type Step 2: Alert Types • Any alert() function call: All indicator alerts • Crossed above OR High: Bullish breakout • Crossed below OR Low: Bearish breakout Alert Messages Alerts include: • Session name (e.g., "New York") • Direction (above/below) • Level crossed • Pattern detected (if applicable) • Zone information (if in zone) Alert Best Practices
13. Set alerts after the OR is established (15+ minutes into session)
14. Use pattern filters to reduce false signals
15. Consider zone alerts for higher probability setups
16. Set stop-loss alerts at opposite OR level
________________________________________
9. Trading Strategies Strategy 1: Classic ORB
10. Entry: o Long: Break above OR High o Short: Break below OR Low
11. Stop Loss: Opposite OR level
12. Target: 1:2 or 1:3 risk/reward
13. Best Time: First 2 hours after OR Strategy 2: ORB with Pattern Confirmation
14. Entry Requirements: o Breakout signal o At least one confirming pattern o Preferably within a zone
15. Stop Loss: Mid-point of OR
16. Target: Previous day's high/low or current day's high/low
17. Win Rate: Higher than classic ORB Strategy 3: Zone Rejection Trading
18. Setup: Price enters zone but fails to break OR
19. Entry: Reversal pattern in zone
20. Stop Loss: Just outside zone boundary
21. Target: Opposite OR level
22. Best For: Range-bound markets Strategy 4: Multi-Session Confluence
23. Look for: Alignment of multiple session ORs
24. Entry: Break of aligned levels
25. Confirmation: Pattern at confluence point
26. Target: Extended moves expected
27. Additional Edge: Watch for CDH/CDL tests during the session
Strategy 5: CDH/CDL Breakout Trading
1. Setup: Price approaches current day's high or low
2. Entry: Break and hold above CDH or below CDL
3. Confirmation: Volume increase or pattern formation
4. Stop Loss: Just inside the CDH/CDL level
5. Target: Measured move based on intraday range
6. Best For: Trending days with momentum Risk Management Rules • Position Size: Risk 1-2% per trade • Max Daily Loss: 3-5% of account • Avoid: First and last 15 minutes of session • Best Days: Tuesday through Thursday
________________________________________
10. Best Practices Do's:
• Wait for OR to be established (15 minutes)
• Use multiple confirmations (pattern + zone + volume)
• Trade in the direction of the larger trend
• Set alerts to avoid missing opportunities
• Keep a trading journal of ORB trades
• Adjust zones based on market volatility
• Use proper position sizing Don'ts:
• Trade immediately at market open
• Ignore the overall market context
• Trade every OR breakout
• Use in choppy/low volume markets
• Set stops too close to entry
• Trade against strong trends
• Over-leverage positions Market Conditions Best Performance: • Trending days • High volume sessions • Economic news days • Clear market sentiment Avoid During: • Low volume holidays • Extremely choppy conditions • Major uncertainty events • End of month/quarter repositioning
________________________________________
11. Troubleshooting Common Issues and Solutions Issue: No signals appearing Solutions: • Ensure "Show Buy/Sell Signals" is enabled • Check if pattern filter is too restrictive • Verify correct session is selected • Confirm market has broken OR levels Issue: Too many false signals Solutions: • Enable pattern filter requirement • Use "Multiple Patterns" mode • Trade only within zones • Increase zone size percentage Issue: Incorrect session times Solutions: • Check timezone settings • Verify exchange timezone option • Use custom session for specific needs • Ensure chart timeframe is appropriate Issue: Overlapping indicators Solutions: • Disable pattern markers if too cluttered • Turn off signal text • Hide PDH/PDL or CDH/CDL if not needed • Use "Show Current Only" option Performance Tips
12. Reduce Chart Load: Hide historical sessions
13. Clean View: Disable unused pattern types
14. Mobile Trading: Increase line widths for visibility
15. Multiple Monitors: Use different sessions per screen Getting Help • Check indicator settings tooltips • Test on demo account first • Document your settings for consistency • Join ORB trading communities for tips
________________________________________
Conclusion The Opening Range Breakout with John Wick indicator is a powerful tool that combines time-tested ORB strategies with advanced pattern recognition. Success comes from understanding each component, practicing proper risk management, and adapting the tool to your trading style. Remember: No indicator guarantees profits. Always use proper risk management and continuous education to improve your trading results. Happy Trading!
________________________________________
Version: 1.0 Last Updated: June 2025 Pine Script Version: 6
Long and Short Term Highs and LowsLong and Short Term Highs and Lows
Overview:
This indicator is designed to help traders identify significant price points by marking new highs and lows over two distinct timeframes—a long-term and a short-term period. It achieves this by drawing optional channel lines that outline the highest highs and lowest lows over the chosen time periods and by plotting visual markers (triangles) on the chart when a new high or low is detected.
Key Features:
Dual Timeframe Analysis:
Long Term: Uses a user-defined “Time Period” (default 52) and “Time Unit” (default: Weekly) to determine long-term high and low levels.
Short Term: Uses a separate “Time Period” (default 50) and “Time Unit” (default: Daily) to compute short-term high and low levels.
Optional Channel Display:
For both long and short term periods, you have the option to display a channel by plotting the highest and lowest values as lines. This visual channel helps to delineate the range within which the price has traded over the selected period.
New High/Low Markers:
The indicator identifies moments when the highest high or lowest low is updated relative to the previous bar.
When a new high is established, an up triangle is plotted above the bar.
Conversely, when a new low occurs, a down triangle is plotted below the bar.
Separate input toggles allow you to enable or disable these markers independently for the long-term and short-term setups.
Inputs and Settings:
Long Term High/Low Period Settings:
Show New High/Low? (STW): Toggle to enable or disable the plotting of new high/low markers for the long-term period.
Time Period: The number of bars used to calculate the highest high and lowest low (default is 52).
Time Unit: The timeframe on which the long-term calculation is based (default is Weekly).
Show Channel? (SCW): Toggle to display the channel lines that connect the long-term high and low levels.
Short Term High/Low Period Settings:
Show New High/Low?: Toggle to enable or disable the plotting of new high/low markers for the short-term period.
Time Period: The number of bars used for calculating the short-term extremes (default is 50).
Time Unit: The timeframe on which the short-term calculations are based (default is Daily).
Show Channel?: Toggle to display the channel lines for the short-term highs and lows.
Indicator Logic:
Channel Calculation:
The script uses the request.security function to pull data from the specified timeframes. For each timeframe:
It calculates the lowest low over the defined period using ta.lowest.
It calculates the highest high over the defined period using ta.highest.
These values can be optionally plotted as channel lines when the “Show Channel?” option is enabled.
New High/Low Detection:
For each timeframe, the indicator compares the current high (or low) with its immediate previous value:
New High: When the current high exceeds the previous bar’s high, an up triangle is drawn above the bar.
New Low: When the current low falls below the previous bar’s low, a down triangle is drawn below the bar.
Usage and Interpretation:
Trend Identification:
When new highs (or lows) occur, they can signal the start of a strong upward (or downward) movement. The indicator helps you visually track these critical turning points over both longer and shorter periods.
Channel Breakouts:
The optional channel display offers additional context. Price movement beyond these channels may indicate a breakout or a significant shift in trend.
Customizable Timeframes:
You can adjust both the time period and time unit to fit your trading style—whether you’re focusing on longer-term trends or short-term price action.
Conclusion:
This indicator provides a dual-layer analysis by combining long-term and short-term perspectives, making it a versatile tool for identifying key highs and lows. Whether you are looking to confirm trend strength or spot potential breakouts, the “Long and Short Term Highs and Lows” indicator adds a valuable visual element to your TradingView charts.
Swing Suite (SMT/Divergences + Gann Swings)Hello Traders!
TRN Swing Suite (SMT/Divergences + Gann Swings) is an indicator which identifies, and highlights pivot points (swings) and prints a lot of information about the swings in the chart (e.g. length, duration, cumulative Delta, ...). Furthermore, it detects divergences in connection with any given indicator, even custom ones. In addition to this, you can choose the algorithm to compute the swings. The famous Gann-Swing algorithm and the extremely precise TRN Swing algorithm (called Standard) are available for selection, as well as two other variants. Compared to other swing or zig-zag indicators it works in real-time, does not need a look-a-head to find swings and is not repainting. Moreover, equal (double) highs and lows are detected and displayed. The TRN Swing Suite helps traders to visualize the pure price action and identify key turning points or trends. The indicator comes with the following features:
Precise real-time swing detection without repainting
Divergence detecting for any given (custom) indicator - with 11 different preset indicators
SMT (Smart Money Technique)/Divergence detecting in relation to other instruments
Swing Performance Statistics
Swing support and resistance levels
Swing trend for multiple swing sizes
Equal/double high and low detection
4 different swing computation styles
Displaying of swing labels, values and information
Customizable settings as well as look and feel
It's important to note that the TRN Swing Suite is a visual tool and does not provide specific buy or sell signals. It serves as a guide for traders to analyze market structure in depth and make well-informed trading decisions based on their trading strategy and additional technical analysis.
Divergence Detection for any given (Custom) Indicator
The divergence detector finds with unrivaled precision bullish and bearish as well as regular and hidden divergences. The main difference compared to other divergences indicators is that this indicator finds rigorously the extreme peaks of each swing, both in price and in the corresponding indicator. This precision is unmatched and therefore this is one of the best divergences detectors.
The build in divergence detector works with any given indicator, even custom ones. In addition, there are 11 built-in indicators. Most noticeable is the cumulative delta indicator, which works astonishingly well as a divergence indicator. Full list:
External Indicator (see next section for the setup)
Awesome Oscillator (AO)
Commodity Channel Index (CCI)
Cumulative Delta Volume (CDV)
Chaikin Money Flow (CMF)
Moving Average Convergence Divergence (MACD)
Money Flow Index (MFI)
Momentum
On Balance Volume (OBV)
Relative Strength Index (RSI)
Stochastic
Williams Percentage Range (W%R)
The divergences are colored with vivid lines and labels. Bullish divergences are distinguished with luminous blue lines, while bearish divergences are denoted by striking red lines. Upon detecting a divergence, the colored lines act as a visual indicator for traders, signaling an imminent possibility of a trend reversal. In response, traders can leverage this valuable insight to make informed decisions in their trading activities.
Choose Your Custom Divergence Indicator
Handpick your custom indicator, and the TRN Swing Suite will hunt for divergences on your preferred market and timeframe. Importantly, you must add the indicator to your chart. Afterwards, simply go to the “Divergence Detection” section in the TRN Swing Suite indicator settings and choose "External Indicator". If the custom indicator has one reference value, then choose this value in the “External Indicator (High)” field. If there are high and low values (e.g. candles), then you also must set the “External Indicator Low” field.
In the provided graphic, we've chosen the stochastic RSI as our example, and as you can see, the TRN Swing Suite instantly identifies and plots bullish and bearish divergences on your chart.
Smart Money Technique (SMT)/Divergence detecting in Relation to other Instruments
Smart Money Technique/Tool (SMT) means the divergence detection between two related instruments. The TRN Swing Suite finds divergence in relation to other instruments, e.g. NQ vs ES or BTCUSDT vs ETHUSDT. Just add another instrument to the chart. As representation style you can choose lines or candles/bars. Afterwards, simply go to the “Divergence Detection” section in the TRN Swing Suite indicator settings and choose "External Indicator". If the second instrument is represented as line, then choose this value in the “External Indicator (High)” field. If there are high and low values (e.g. candles/bars), then you also must set the “External Indicator Low” field.
The detection of SMTs can help traders to decide whether the trend continues, or a reversal is imminent. E.g. if the NQ makes a new higher high but the ES fails to do so and makes a new lower high, then the TRN Swing Suite shows a divergence. As a result, the probability is high that the trend will not continue, and the trader can make an informed decision about what to do next.
How to Set Parameters for Divergence Indicators
To begin, access the indicator settings and find the “Divergence Detection”. Look for the "Parameters" sections where you can fine-tune Parameters 1-3. The default settings are already optimized for the oscillators AO, RSI, CDV, W%R, MFI and Stochastic. For other divergence indicators, you might want to adjust the settings to your liking. The parameter order is the same as in the corresponding divergence indicator.
TRN Swing Suite Statistics
Unveil the untapped potential of advanced Swing Statistics! Gain invaluable insights into historical swings and turning points. Elevate your expertise by harnessing this treasure trove of data to supercharge signal reliability, while masterfully planning stop loss and take profit strategies with unrivaled accuracy. Within the TRN Swing Suite lie two powerful statistics, each offering distinct insights to empower your trading prowess.
Swing Statistic
The Swing Statistic comprises of two series, one for up swings (Up) and one for down swings (Down), with values given in points. The columns have the following meaning:
Up or down
# - total number of analyzed swings
Overall ∅ Length - average length of all swings in points
Overall ∅ Duration - average duration of swings in bars
∅ Length - average lengths for custom-defined swing counts
∅ Duration - average durations for custom-defined swing counts
The custom-defined swing count is used to determine the swing length/duration for the last x swings. Note, in the case of well-established assets like Microsoft or Nvidia, which have undergone one or more stock splits, the overall average in column three may deviate significantly from those in column five. That is why column 5 is useful.
Relation Statistic
The Relation Statistic highlights percentages representing the historical occurrence of specific high and low sequences. In the first column (in %), various types of highs and lows are listed as reference points.
For example, the first row corresponds to "HH followed by", where the second column (#) displays the total count of higher highs (HH) considered. The subsequent columns showcase the percentages of how often certain patterns follow the initial HH.
Fields marked in blue represent sequences that occurred in over 50% of cases. The darker the shade of blue in each field, the higher the percentage.
Use Swing Statistics to Validate Stop-Loss and Take-Profit Levels
No matter which signals you choose to trade, consulting Swing Statistics can significantly enhance the reliability of these signals.
For example, when looking for a long entry after a lower low (LL), you can examine the likelihood of a subsequent lower high (LH) or even a higher high (HH). Combining this valuable information with your predetermined Take Profit level allows you to better assess whether your target can be achieved successfully. Additionally, you can add the average up swing length to the lower low for an alternative Take Profit level. Similarly, you can verify the probability of the next low being a higher low (HL) or another lower low (LL) to determine the likelihood of your Stop Loss being triggered. Align the length of the last down swing with the average down swing length for an alternative Stop Loss.
Swing Support and Resistance Levels
Swing support and resistance levels are horizontal lines starting from a swing high or swing low and representing natural support and resistance levels. Price tends to respect this levels one way or another. In most cases, old swing highs and swing lows provide a lot of liquidity to the market. For example, for a swing high there are at least three different market players at work:
Traders put there stop loss above the swing high
Breakout traders go long above the swing high
Turtle soup (reverse) trader go short above the swing high
Swing Trend (Multiple Sizes)
The TRN Swing Suite can display either at the top or at the bottom the prevailing swing trends for the main trend seen in the chart and for two additional swing sizes. This is useful to see the swing trend for medium and bigger swings to get a clear picture of the market.
Getting an Edge with the TRN Swing Suite
The indicator clearly displays up trends, defined as a sequence of higher highs (HH) and higher lows (HL), with green labels and down trends, defined as a sequence of lower lows (LL) and lower highs (LH), with red labels. Equal highs/double tops (DT) and equal lows/ double bottoms (DB) are highlighted in gold.
In addition, the labels show a full stack of valuable information about the swings to maximize your accuracy.
Length
Length percentage in relation to the last swing length
Duration
Time
Volume
Cumulative Delta
In an uptrend the up swings should have higher volume und higher cumulative delta than the down swings. The duration and time for down swings in an uptrend should be shorter than for the up swings.
Use Cases for Swing Detection
Trend Identification
By connecting the swing highs and lows, traders can identify and analyze the prevailing trend in the market. An uptrend is characterized by higher swing highs and lows, while a downtrend is characterized by lower highs and lower lows. The indicator helps traders visually assess the strength and continuity of the trend.
Support And Resistance Levels
The swing highs and lows can act as support and resistance levels. Swing highs may act as resistance levels where selling pressure increases, while swing lows may act as support levels where buying pressure increases. Traders often pay attention to these levels as potential areas for trade entries, exits, or placing stop-loss orders.
Pattern Recognition
The swings identified by the indicator can help traders recognize chart patterns, such as equal high/lows, consolidations, wedges, triangles or more complex patterns like Gartley or Head and Shoulders. These patterns can provide insights into potential trend continuation or reversal.
Trade Entry and Exit
Traders may use TRN Swing to determine potential trade entry and exit points. For example, in an uptrend, traders may look for opportunities to enter long positions near swing lows or on pullbacks to support levels. Conversely, in a downtrend, traders may consider short positions near swing highs or on retracements to resistance levels.
Swing Styles
In addition to the standard swings, you have the flexibility to choose between various swing styles, including ticks, percent, or even the famous Gann swings.
Standard
Gann
Ticks
Percent
Conclusion
While signals from TRN Swings can be informative, it is important to recognize that their reliability may vary. Various external factors can impact market prices, and it is essential to consider your risk tolerance and investment goals when executing trades.
Risk Disclaimer
The content, tools, scripts, articles, and educational resources offered by TRN Trading are intended solely for informational and educational purposes. Remember, past performance does not ensure future outcomes.
MTF Smart Money ConceptsOverview
This indicator displays major elements of Smart Money Concepts and price action trading with multi-timeframes(MTF) and layered market structures with color visualization.
What is Smart Money Concepts?
Smart Money Concepts(SMC) is one of the methodologies to interpret how financial market moves and to analyze it and execute trades, focusing on liquidity and order flow of financial institutions.
Smart money means the funds invested by large financial institutions such as banks, institutional traders/investors, market makers, hedge funds etc. contrary to retail traders/investors' money.
It is important to note that there is no proof or evidence that those institutions move the market as described in Smart Money Concepts.
Personally speaking, it is one of the interpretation of the market and another angle to view the market just like other technical analysis methodologies such as Elliott Wave Principle, Gann Theory, Wyckoff Method and even traditional price action trading.
Importance of MTF Analysis
MTF analysis(a.k.a Topdown analysis) is the foundation to technically analyze charts and the most fundamental skill in trading because lower timeframes are always influenced by upper timeframes where large financial institutions operate.
How to use
This indicator is designed to help traders analyze how the market moves in terms of SMC and price action with multi-timeframes and color visualization of the market structures, which makes this indicator unique and different from other indicators.
There is two key settings that you can use based on your trading style.
1.Upper timeframe selection
You have two options to determine upper timeframe; Auto mode and Manual mode.
When Auto mode selected, upper timeframe will be determined based on chart timeframe as follows.
Chart timeframe => Upper timeframe
1M=>15M
5M/15M=>1H
30M/1H=>4H
4H=>D
D=>W
W=>M
If you select Manual mode, you can fix an upper timeframe.
2.High/low settings
This affects all other settings of the indicator and most importantly designs the market structure.
This is the key setting to determine how you view the market as price action trading is all about highs and lows and story of how highs and lows have been created with the market structure.
You can specify left bars and right bars to identify swing highs/lows and these highs/lows become the basis to design the market structure and determine how SMC elements are displayed.
Example:
Left bar&right bar: 10
You can see bigger wave(magenta line) in the market structure(stepped line).
(Magenta line is a drawn object by manual)
Left bar&right bar: 4
With this setting, you can see smaller wave in the market structure.
Since market moves like wave as there is a lot of wave theories in financial investment/trading industry such as Elliott wave, Wolf wave etc., users can define market structure with this setting depending on what degree of wave they aim to trade.
Functions:
MTF Order Block
Concept
Order block is a block of orders where buying orders and selling orders are accumulated. Order blocks are created when the institutions move the market up and down, temporality placing orders in an opposite direction to the way they want to move, in order to match their own orders with counter-orders.
Visualization by the indicator
The indicator displays both chart timeframe's order blocks and upper timeframe's order blocks(MTF).
You can also select from two options how to display order blocks;
1. Show all order blocks
2. Show strong order blocks only
Note: Strong order blocks mean order blocks created at strong highs/lows. See also strong high/low below.
Alerts can be set when prices reach strong order blocks.
MTF Fair Value Gap(FVG)/Imbalance
Concept
Fair Value Gap(FVG)(Imbalance) is a void generated among three consecutive candlesticks.
FVG(s) is created when the market moves so rapidly generating buy side or sell side order imbalances.
FVG(s) is characterized by price action that prices tend to come back to the area where FVG(s) exists, filling in the space among the candlesticks.
Visualization by the indicator
The indicator displays both chart timeframe's FVG and upper timeframe's FVG.
MTF Liquidity Grab
Concept
Liquidity grab is price action to sweep liquidity for the institutions to move the market.
This price action often happens because the size of their orders is so huge and they need a bunch of counter-orders to match their orders. This is why prices sometimes come to areas where liquidity rest and swipe them before the market goes up/down.
Liquidity visualization
Where does liquidity rest?
The answer is above highs(buy side liquidity) and below lows(sell side liquidity).
Among all highs and lows, swing highs and lows are where liquidity is accumulated the most because swing highs and lows can be created only by the institutions, therefore massive liquidity is indicated.
Visualization by the indicator
The indicator displays liquidity dots so that users can easily identify where liquidity rests and liquidity grab of both a chart timeframe and an upper timeframe.
Alerts can be set when liquidity grab happens.
MTF Strong High/Low
Concept
Strong high/low literally means strong highs and lows among all highs and lows including swing highs and lows.
There is a few different definitions of strong high/low in price action trading and the definition in this indicator is as follows.
Strong high
A high that that breaks higher low or lower low
Strong low
A low that breaks lower high or higher high
Visualization by the indicator
The indicator displays strong highs and lows of both a chart timeframe and an upper timeframe.
MTF Market Structure Visualization
Concept
Market structure is a series of price movement with highs and lows which outlines the way the market directs. It is a basis to see trend occurrence, trend reversal and sideways and analyzing the market structures in multi-timeframes is the most fundamental technical skill in trading/investment.
Visualization by the indicator
The indicator displays market structures of both a chart timeframe and an upper timeframe and provide color visualization depending on bullish and bearish market structures.
The definition of bullish and bearish market structure is as follows.
Bullish market structure
When a price breaks a Lower High or Higher High
Bearish market structure
When a price breaks a Higher Low or Lower Low
Settings
All the functions above, colors and line settings are parameterized and can be turned on/off depending on users’ needs.
———————————————————————————
概要
Smart Money Concepts(SMC)およびプライスアクショントレードにおける重要な要素をマルチタイムフレームで表示することのできるインジケーターです。
相場構造(Market structure)をマルチタイムフレームで表示し、相場構造の強弱を色で可視化することができます。
Smart Money Concepts(スマートマネーコンセプト)とは?
Smart Money Concepts(以下SMC) は金融市場がどのように動くかを解釈し、分析し、取引を執行するための相場理論の一つであり、Liquidity(リクイディティ)および機関投資家のオーダーフロー(注文の流れ)に焦点を置いていることが特徴です。
Smart Money(スマートマネー)とは、銀行や機関投資家、マーケットメーカー、ヘッジファンドといった金融機関が動かす資金を意味し、個人投資家の資金と対をなす概念です。
重要な点は、実際に上記の金融機関がSmart Money Conceptsで語られているような相場の動かし方をしているかどうかを証明する明確なエビデンスはないということです。
個人的には、エリオット波動理論やギャン理論、ワイコフ理論、伝統的なプライスアクショントレーディングの方法論と同様に、マーケットの動きを解釈するための一つの方法論であり、マーケットの動きを別の角度から見る枠組みと捉えています。
マルチタイムフレーム(MTF)分析の重要性
MTF分析はチャートをテクニカルに分析する上での基礎であり、トレードにおいて最も重要なスキルです。なぜなら下位のタイムフレームは上記のような金融機関が資金運用を行う上位のタイムフレームの影響を常に受けるためです。
使い方
このインジケーターは、SMCまたはプライスアクショントレードの観点から、トレーダーがマーケットをマルチタイムフレームで分析することを支援するために開発しています。
相場構造(Market structure/マーケットストラクチャー)を方向性に応じて色で可視化することができるため、視覚的に相場の構造を判断できることがこのインジケータのユニークな点であり、他のインジケーターと異なる点です。
ユーザーのトレードスタイルに応じて、以下の二つの設定を行うことができます。
1.上位足の決定方法
ユーザーは上位足のタイムフレームを決定するにあたり、AutoモードとManualモードを選択することができます。
Autoモードを選択した場合、上位足はチャートのタイムフレームに応じて以下のように決定されます。
チャートタイムフレーム => 上位足タイムフレーム
1M=>15M
5M/15M=>1H
30M/1H=>4H
4H=>D
D=>W
W=>M
Manualモードを選択すると上位足のタイムフレームを固定することができます。
2.High/low(高値/安値) 設定
当設定はインジケーターの他の全ての機能に影響し、また最も重要である相場構造の定義に影響します。
当設定はユーザーがマーケットをどのように見るか(=どの程度の粒度)を決定する重要な設定です。なぜならプライスアクショントレードは、高値、安値とそれらが相場構造をどのように構築してきたかの一連の流れを分析することが全てだからです。
ユーザーは相場構造を決定付けるスイングハイ·スイングローを特定するためのバーの本数を設定することができます。ここで設定した内容が、相場構造を定義し、以下で説明するSMCの要素の表示を決定することになります。
例:
Left bar&right bar(左右のバーの数): 10
この場合、ステップラインで示した相場構造の中に大きな波(マゼンタの波)を見ることができます。
(マゼンタのラインは手動で描いたオブジェクト)
Left bar&right bar: 4
この設定では、上記に比べて小さい波を描いていることが確認できます。
相場理論の中にエリオット波動理論やウォルフ波動といった数多くの波動理論があることからわかるように、相場は波として動きます。どの粒度の波を狙うかというトレーダーのスタイルに応じて、設定を変更することができます。
機能
MTFオーダーブロック
コンセプト
オーダーブロックとは買い注文と売り注文が一連となって蓄積されたオーダー(注文)のブロックのことです。
オーダーブロックは機関投資家が相場を動かす際に、本来意図する方向とは一時的に逆に動かすことで、彼ら自身の注文をマッチングさせるための反対注文を発生させることで形成されます。
インジケーターによる表示
インジケーターはチャートタイムフレームのオーダーブロックと上位足のオーダーブロックの両方を表示することができます。
また、オーダーブロックの表示オプションとして、
1.全てのオーダーブロックを表示
2.Strong(ストロング)オーダーブロックのみを表示
を選択することが可能です。
注: StrongオーダーブロックはStrong High/Lowで形成されるオーダーブロックを指します。(下記参照)
また、オーダーブロック到達でのアラート設定も可能です。
MTFフェアーバリューギャップ(FVG)/インバランス
コンセプト
フェアーバリューギャップ(FVG)/インバランスとは連続する3つのローソク足の間に形成される溝(Gap)のことです。
フェアーバリューギャップはマーケットが非常に早く動いたことにより、買いオーダーと売りオーダーの需給バランスが崩れることによって発生します。
フェアーバリューギャップには、価格がフェアーバリューギャップが発生したエリアまで戻ってくる傾向があるという特徴が存在します。
インジケーターによる表示
インジケーターはチャートタイムフレームのフェアーバリューギャップと上位足のフェアーバリューギャップの両方を表示することができます。
MTF Liquidity Grab(リクイディティ·グラブ)
コンセプト
Liquidity(リクイディティ)とはマネー、つまり注文です。
Liquidity Grab(リクイディティ·グラブ)とは、機関投資家がマーケットを動かす際にLiquidityを取得するプライスアクションのことを指します。
このプライスアクションは、機関投資家が処理する注文サイズが非常に大きいため、自身の注文を出す際に大量の反対注文を必要とすることからしばしば発生します。
これが、価格がLiquidity(注文)の集まっているエリアに接近し、それら注文をスワイプ(狩り取る)した後に上昇·下落する理由です。
Liquidityの可視化
一般的にLiquidityは高値の上(buy side liquidity)、安値の下(sell side liquidity)に存在します。
全ての高値·安値の中で、スイングハイ·ローがliquidityが最も蓄積されているエリアということができます。なぜならスイングハイ·ローは機関投資家の注文によってのみ形成されるからです。
インジケーターによる表示
ユーザーがLiquidityポイントを簡単に識別できるようにLiquidityをドット表示することが可能です。またチャートタイムフレームと上位足の両方のLiquidity Grabを表示することができます。
Liquidity Grab発生時にアラートも設定可能です。
MTF Strong High/Low(ストロングハイ·ロー)
コンセプト
Strong high/lowは文字通り、強い高値·安値のことを指します。
トレーダーの間でいくつかの異なる定義が存在しますが、当インジケーターでの定義は以下の通りです。
Strong high
Higher low(ハイアーロー) または Lower low(ロワーロー)をブレイクした高値
Strong low
Lower higher (ロワーハイ) または Higher High(ハイアーハイ)をブレイクした安値
インジケーターによる表示
チャートタイムフレーム、上位足のStrong High/Lowを表示することが可能です。
相場構造可視化
コンセプト
相場構造(Market structure/マーケットストラクチャー)とは、相場の流れを成り立たせる高値と安値を元にした一連の値動きです。建物における骨組みに該当します。
トレンドの発生、転換、レンジを見極めるための基礎であり、マルチタイムフレームで相場構造を分析することは、投資·トレードにおいて最も重要なテクニカルスキルです。
インジケーターによる表示
チャートタイムフレームと上位足タイムフレーム両方の相場構造を表示することができます。
また、相場構造が強気の状態か弱気の状態かを色で可視化するため、上位足含めた相場の流れを視覚的に判断することが可能です。
相場構造の強弱の定義は以下の通りです。
強気の相場構造(Bullish market structure)
価格がLower HighまたはHigher Highをブレイクしたとき
弱気の相場構造(Bearish market structure)
価格がHigher LowまたはLower Lowをブレイクしたとき
設定
上記の全ての機能は色やライン設定含めパラメーターで設定が可能です。またユーザの必要に応じて表示·非表示を切り替えることができます。
Tug-of-War Fast/Slow Technical IndicatorThe script Tug-of-War (ToW) Fast/Slow has a couple of lines (red and purple) and areas (purple and greenish) which give the trend. It also has one line (blue) and dots (green) that give the up-and-down swing.
HOW THE INDICATOR WORKS
It is based on moving averages run on normal OHLC bars, Heikin Ashi bars as well as customized bars (which modify the open/high/low/close values similar to how Haikin Ashi bars do). These moving averages are weighted by volume and related to each other (for example differences are calculated) to produce the final lines. Since the script requires volume, it may not work for tickers which don't have volume (however for some tickers the script uses a proxy-volume so that they work; for example it uses the SPY volume for VIX). There is a different but similar script that I'll be publishing (ToW Simple) which doesn't use volume and runs on any ticker.
HOW TO SETUP THE INDICATOR
The indicator can be run on "close" prices as well as "open", "high", "low" and several mini-max modes ("MM ..."). They pick highs and lows (minim and maxim values, hence the mini-max name) to generate the indicator lines. See the drop down box options under "Adjust Close Type" (the very fist options in the script settings). The multiple MM modes use different formulas to calculate the mini-max values. The more significant MM modes are MM ZZ (zig-zag), MM HL/HL (determines highs and lows based on highs and lows), MM HL/C (determines highs and lows based on close) and MM Close. Note: if the MM ZZ mode show you the highs for the current bar and you actually want the lows (or vice versa) check "MM ZZ Reverse".
The indicator has two fast lines:
the green dots (called F1 since it's the 1st Fast line, actually dots)
the blue line (called F2--the 2nd Fast line)
They are called "fast" because they move up and down faster. In previous iterations of the script I called them "swing lines" since they capture the prices swing up and down. The blue line is the more significant one (since the green one I set, by default to dots instead of an actual line).
The indicator has two slow lines:
the purple line (called S1 since it's the 1st Slow line)
the blue line (called S2--the 2nd Slow line)
They move slower than the fast line and they are better at determining the trend.
The order of lines, from fast to slow, is: F1 (green), F2 (blue), S1 (purple) and S2 (red).
The indicator also has two areas:
the greenish area (called FA since it's the Fast Area)
the purple area (called SA since it's the Slow Area)
Additional lines (but less significant are displayed if you uncheck the "Clean look" option).
The script allows to display up to for sets of lines (see the top "Adjust Close Type (Set #)" options). For example one set may show "Highs" and the other "Lows" or "Close" and "MM HL/HL". Additionally it can run in multi-set mode when it shows the chosen one line (F1, F2, S1, S2, FA, SA) for each OHLC (open, high, low, close). See "Only Show Related Lines" option. In this display purple is the line for Open, green is the line for High, red is the line for Low and black is the line for Close.
The indicator also has a custom mode (see the "Enable custom bars" checkbox and the options following it). With it you can change the open/high/low/close value (see "Custom #1 OHLC to Modify") of a bar ("Custom #1 Index To Modify" determines which bare to modify, 0 being the most recent bar). Then "Custom #1 Modifier Type" specifies to use open/high/low/close value of the same or different bar (use "Custom #1 Modifier Index/Value ..." to choose which bar's OHLC value to use for the custom value; 0 means the O/H/L/C value of the same bar as the one being modified; 1 means previous bar, etc.). If "Custom" is selected instead (under Modifier Type) then you can enter the custom value in the "Custom #1 Modifier Index/Value ..." field. This will show you how the indicator lines look like if the price was different. Three different bars can be modified this way. You can try different custom values and see for what price value one of the lines reaches a high or low point. That is an estimate of how far the price may go. Note: the indicator values depends depends on all OHLC values (plus volume) not just on the one chosen. That is, if the indicators is based on close values it is still affected to some extent by high, low and volume. Therefore the price value determined using the custom mode may not be exact but only a rough estimate (and the bigger changes in OHLC the bigger affect on the indicator and the actual price may not be exactly what was calculated using the custom mode.
HOW TO USE THE INDICATOR
Strategies and tools that apply to price such as resistance and support levels and trend lines, pitchforks (particularly Schiff pitchforks in case of the indicator) also apply to these lines. Because the indicator lines are within a range it is generally easier and faster to see and find such support/resistance levels and trend lines.
Additionally, the lines or the areas crossing the 0 line often indicate a change in trend (however if earlier indicator highs/lows bounce off around the 0 line that may happen this time around as well). The more significant 0 crossing is for the slow lines (red first and then purple) as well as the areas.
The slow lines and the areas, as mentioned already, show the trend (in previous iterations of the indicator I called them direction lines).
The fast lines (blue line, green dots) show the swing, as mentioned earlier. They often swing up and down. When they reach a high (you can thin of it as overbought) they may move back down on the next bar (or vice-versa when reaching a low). However, sometimes they don't swing but rather move in a line closer to a straight line (more like the slow lines). That indicates that the trend is stronger.
The fast lines can also indicate the trend by looking if their highs and/or lows are trending up or down. Thus, if the highs and lows are trending down then it's likely the price will go down.
Another thing to look at is divergence between the price and the slow lines or the high/lows trend of the fast lines (that I mentioned above). If the price is going up but the these are trending down then over the same bars then the price may be coming closer to a reversal.
STRATEGIES
Swing-in-trend. Find a ticker with the slow lines showing an upward trend (i.e., the red line crossing 0 or being above 0) and a the slow line (such as the blue line) reaching a previous low level (draw support levels and/or trend lines to determine that). Go long when the fast line reaches the support level or bottom trendline. The expectation is that the price will move up by the close of the next bar (when the position should normally be closed). The "go-short" setup is just reversed (slow lines trending down and the fast lines reaching high levels). You can use the "High", "Low", "MM ZZ" or one of the other MM modes instead of "Close" to get a better entry and exist point (in this case you enter when the the "Low" or "MM ZZ" modes reached a low and you enter if the "High" or "MM ZZ" reached a high or else exit at close of the next bar).
Trend-on-swing. When the red line is about to cross or just crossed the 0 line and wait for the swing line to go down first (you can use "High", "Low" or an MM mode, as explained dabove, for a better entry point) and then you enter the position and exit when either the slow (red) line reaches a resistance level, it crosses 0 the other way or when the fast line reaches a very high resistance level. This strategy will take longer, it won't be closed on the next bar.
Mini-max strategy. This is a new strategy I've developed. It uses MM ZZ mode (and a second MM ZZ set to "reverse") as well as "High", "Low" and "MM HL/HL" mode. I basically draw resistance and support lines on these, usually 2-3 lines for high and the same for low, for multiple tickers that seem a good match (they show a nice, consistent up/down pattern for MM ZZ). When the F2/blue lines reaches one of the horizontal lines further from the 0 lines (I setup alerts for this), then I enter expecting a move in the opposite direction. If it reaches the 2nd or 3rd low horizontal line then I go long. Then on the next bar when the F2 line reaches the 1st high horizontal line then I close the position (alternatively, I close half and keep half for when the second high horizontal line is reached). Alternatively, I may close the same bar, when the reversed MM ZZ setup reaches the 1st high horizontal line. I usually use this setup on weekly charts and use weekly options but it can be used on other charts such as daily charts as well.
I recommend to setup alerts on the indicator. After you draw a horizontal line or a trend line and you select it, its bar has a clock icon with a "+" sign. If you click on it you can setup an alert. In the setup dialog, under "Condition" select the indicator and then select the line of the indicator (such as "F2 (f_s/Blue)") then select "Once Per Bar" under "Options" (that's my recommendation, it will alert you only one time per bar). Finally customize the message for example: "ZZ: F2/blue /lo hl 1/3, TQQQ, 1D" (which means it's for MM ZZ mode when F2 (blue) line intersects the 1st (out of 3) low horizontal line (HL) and it's for TQQQ on 1D chart. When I use the reverse mode for ZZ then I write: "ZZr: ..."
In the chart above, the first indicator shows the "Close" mode and the second the "MM ZZ" mode (along with 2 levels for high and low).
Statistcal Daily Profile & Ranges# Statistical Daily Profile & Ranges - TradingView Publication Guide
## Overview
The **Statistical Daily Profile & Ranges** indicator is a comprehensive tool designed to analyze intraday session behavior and daily range characteristics. It combines Average Daily Range (ADR) projection levels with detailed session-by-session statistics and probability-based trading insights derived from historical price action patterns.
## What This Indicator Does
This indicator provides traders with three core analytical components:
1. **ADR Projection Levels** - Dynamic support/resistance levels based on historical daily ranges
2. **Session Range Analysis** - Visual boxes and statistical breakdowns for four key trading sessions
3. **Dynamic Probability Display** - Real-time probability statistics based on overnight session relationships
## How It Works
### Average Daily Range (ADR) Calculation
The indicator calculates the average daily range over a user-defined lookback period (default: 10 days) and projects this range from each day's opening price. This creates two key levels:
- **ADR High**: Opening price + average daily range
- **ADR Low**: Opening price - average daily range
- **ADR Median**: The opening price (middle of the projected range)
These levels are recalculated at the start of each trading day and extend forward, providing dynamic support and resistance zones based on recent volatility characteristics.
### Session Tracking & Statistics
The indicator monitors four distinct trading sessions (times in Eastern Time):
1. **Asia Session** (8:00 PM - 2:00 AM)
2. **London Session** (2:00 AM - 8:00 AM)
3. **NY Open** (8:00 AM - 9:00 AM)
4. **NY Initial Balance** (9:30 AM - 10:30 AM)
For each session, the indicator:
- Draws a colored box showing the session's high-to-low range
- Tracks the opening price, high, and low
- Stores historical data for statistical analysis
- Calculates average ranges by day of week (Monday through Friday)
The session statistics are displayed in a customizable table showing average point ranges for each session across different weekdays, helping traders identify which sessions and days typically produce the most movement.
### Dynamic Probability System
The indicator analyzes the relationship between the Asia and London sessions to determine the current market setup. After the London session closes, it automatically detects one of four possible conditions:
**1. London Engulfs Asia**
- London session breaks both above Asia's high AND below Asia's low
- This indicates strong momentum during the European session
- Most common occurrence pattern
**2. Asia Engulfs London**
- Asia session range completely contains the London session range
- Indicates consolidation during London hours
- Relatively rare pattern (occurs approximately 5.36% of the time)
**3. London Partially Engulfs Upwards**
- London breaks above Asia's high but stays above Asia's low
- Suggests bullish momentum continuation from Asia into London
**4. London Partially Engulfs Downwards**
- London breaks below Asia's low but stays below Asia's high
- Suggests bearish momentum continuation from Asia into London
Once a condition is detected, the indicator displays a probability table showing historically observed outcomes for that specific setup, including:
- Probability of NY session taking out key levels (Asia high/low, London high/low)
- Probability of NY session engulfing the entire overnight range
- Directional bias for NY Cash session (9:30 AM - 4:00 PM)
## How to Use This Indicator
### Initial Setup
1. Add the indicator to your chart (works on any intraday timeframe below Daily)
2. Adjust the **ADR Days** setting (default: 10) to control the lookback period for range calculation
3. Adjust the **Session Lookback Days** setting (default: 50) to determine how much historical data feeds the statistics tables
### Reading the ADR Levels
- Use the **ADR High** and **ADR Low** lines as potential profit targets or areas where price may encounter resistance
- The **ADR Median** line represents the opening price and can act as a pivot point for intraday directional bias
- If price reaches the ADR High early in the session, it suggests strong bullish momentum; conversely for ADR Low
- These levels adapt daily based on recent volatility, making them more responsive than static levels
### Interpreting Session Boxes
- **Session boxes** visually highlight when each trading session is active and its price range
- Larger boxes indicate higher volatility during that session
- Compare current session ranges to the statistical averages shown in the table
- Sessions that are unusually quiet or active relative to historical averages may signal compression or expansion
### Using the Session Statistics Table
- The table shows average point ranges for each session broken down by weekday
- Identify which sessions typically produce the most movement on specific days
- For example, if London on Thursdays averages 40 points while Mondays average 25 points, you can adjust position sizing or expectations accordingly
- The **Total** column shows the overall average across all days
- Sample sizes (shown in brackets if enabled) indicate data reliability
### Trading with the Probability Table
The probability table updates dynamically after the London session closes and shows statistically probable outcomes based on 12 years of NQ futures data.
**Important Limitations:**
- **These probabilities are derived from NQ (Nasdaq E-mini futures) data only**
- **Do NOT apply these probability statistics to other instruments** (ES, stocks, forex, etc.)
- The probabilities represent historical frequencies, not guarantees
- Always combine with your own analysis, risk management, and market context
**How to Apply the Probabilities:**
When **London Engulfs Asia**:
- Watch for NY session to take out London's extremes (72.33% probability for high, 71.12% for low)
- Slight bullish bias in NY Cash session (54.80% vs 45.20%)
- Lower probability of complete overnight engulfment (44.13%)
When **Asia Engulfs London** (rare - 5.36% occurrence):
- Higher probability NY takes Asia's high (75.86%)
- Moderately high probability NY takes Asia's low (65.52%)
- Slight increase in bullish bias (58.42% vs 41.58%)
- Recognize this as an unusual setup
When **London Partially Engulfs Upwards**:
- Very high probability NY takes London high (81.51%)
- Strong probability NY takes London low (64.45%)
- Moderate probability NY takes Asian low (53.16%)
- Slight bullish bias (55.52%)
When **London Partially Engulfs Downwards**:
- Very high probability NY takes London low (75.29%)
- Strong probability NY takes London high (68.80%)
- Moderate probability NY takes Asian high (56.44%)
- Slight bullish bias maintained (52.99%)
### Practical Trading Applications
**Scenario 1: Range Projection**
If the ADR is 500 points and the market opens at 25,000:
- ADR High: 25,500 (potential resistance/target)
- ADR Low: 24,500 (potential support/target)
- Monitor how price interacts with these levels throughout the day
**Scenario 2: Session-Based Trading**
Using the statistics table, you notice London on Wednesdays averages 35 points. During a Wednesday London session:
- If London has already moved 30 points, the session may be exhausting its typical range
- If London has only moved 15 points with an hour remaining, there may be expansion potential
- Adjust stop losses and targets based on typical session behavior
**Scenario 3: Probability-Based Setup**
It's 8:05 AM ET and the indicator shows "London Partially Engulfs Upwards":
- You now know there's an 81.51% historical probability NY will take out London's high
- There's a 53.16% probability NY will reach down to Asia's low
- The NY Cash session has a slight bullish bias (55.52%)
- Consider this alongside your technical analysis for directional bias and level targeting
## Customization Options
### Visual Settings
- **Line Width**: Adjust thickness of ADR levels
- **ADR Color/Style**: Customize appearance of ADR projection lines (solid, dashed, dotted)
- **Median Line**: Toggle visibility and customize appearance separately
- **Session Box Colors**: Customize each session's box color independently
- **Show Session Boxes**: Toggle session box visibility on/off
### Label Settings
- **ADR Labels**: Show/hide labels for ADR High and ADR Low, adjust size
- **Median Label**: Separate control for median line label
- **Session Labels**: Show/hide session name labels, adjust size
- **Label Colors**: Customize text colors for all labels
### Table Settings
- **Session Stats Table**: Position (9 locations available), size (Tiny to Huge), toggle on/off
- **Sample Sizes**: Show/hide the number of historical samples used for each calculation
- **Probabilities Table**: Separate position and size controls, toggle on/off
### Session Times
- Each session's time range can be customized to fit different markets or preferences
- All times are in Eastern Time (America/New_York timezone)
## Technical Notes
### Data Requirements
- The indicator requires sufficient historical data based on your lookback settings
- Minimum recommended: 50+ days of intraday data for reliable statistics
- Works on any timeframe below Daily (1-minute, 5-minute, 15-minute, etc.)
### Calculation Methodology
- **ADR Calculation**: Simple average of absolute daily high-low ranges
- **Session Statistics**: Mean average of ranges for each session filtered by day of week
- **Condition Detection**: Boolean logic comparing session high/low relationships
- All calculations update in real-time as new bars form
### Probability Data Source
The probability statistics displayed in the dynamic table are derived from:
- **Dataset**: 12 years of NQ (Nasdaq E-mini futures) historical data
- **Methodology**: Frequency analysis of outcomes following specific setup conditions
- **Time Period**: Multiple market cycles including various volatility regimes
**Critical Warning**: These probabilities are specific to NQ and reflect that instrument's behavior patterns. Market microstructure, participant behavior, and volatility characteristics differ significantly across instruments. Do not apply these NQ-derived probabilities to other markets (ES, RTY, YM, individual stocks, forex, commodities, etc.).
## Best Practices
1. **Combine with Other Analysis**: Use this indicator as one component of a complete trading methodology, not a standalone system
2. **Respect Risk Management**: Probabilities are not certainties; always use proper position sizing and stop losses
3. **Context Matters**: High-impact news events, holiday trading, and extreme volatility can invalidate typical patterns
4. **Verify Statistics**: Monitor your own results and compare to the displayed probabilities
5. **Adapt Session Times**: If trading instruments with different active hours, adjust session times accordingly
6. **Regular Calibration**: Periodically review if the session averages and probabilities remain relevant to current market conditions
## Understanding Originality
This indicator is original in its approach to combining three analytical frameworks into a single tool:
1. **Dynamic ADR Projection**: Unlike static pivot points, these levels adapt daily based on recent volatility
2. **Session-Specific Statistics**: Goes beyond simple volume profiles by quantifying average ranges for specific time windows across weekdays
3. **Conditional Probability Display**: Automatically detects overnight session relationships and displays relevant probability data rather than showing all scenarios simultaneously
The conditional logic system that determines which probability set to display is a key differentiator—traders only see the statistics relevant to the current market setup, reducing information overload and improving decision-making clarity.
## Summary
The **Statistical Daily Profile & Ranges** indicator provides traders with a comprehensive framework for understanding daily range potential, session-specific behavior patterns, and probability-based setup analysis. By combining ADR projection levels with detailed session statistics and dynamic probability displays, traders gain multiple perspectives on potential price movement within the trading day.
The indicator is most effective when used to:
- Set realistic profit targets based on average daily range
- Identify which sessions typically produce movement on specific weekdays
- Understand probability-weighted outcomes for different overnight setup conditions (NQ only)
- Visualize session ranges and compare them to historical averages
Remember that all statistical analysis reflects historical patterns, and market behavior can change. Always combine indicator signals with sound risk management, proper position sizing, and your own market analysis.
Simple Candle Strategy# Candle Pattern Strategy - Pine Script V6
## Overview
A TradingView trading strategy script (Pine Script V6) that identifies candlestick patterns over a configurable lookback period and generates trading signals based on pattern recognition rules.
## Strategy Logic
The strategy analyzes the most recent N candlesticks (default: 5) and classifies their patterns into three categories, then generates buy/sell signals based on specific pattern combinations.
### Candlestick Pattern Classification
Each candlestick is classified as one of three types:
| Pattern | Definition | Formula |
|---------|-----------|---------|
| **Close at High** | Close price near the highest price of the candle | `(high - close) / (high - low) ≤ (1 - threshold)` |
| **Close at Low** | Close price near the lowest price of the candle | `(close - low) / (high - low) ≤ (1 - threshold)` |
| **Doji** | Opening and closing prices very close; long upper/lower wicks | `abs(close - open) / (high - low) ≤ threshold` |
### Trading Rules
| Condition | Action | Signal |
|-----------|--------|--------|
| Number of Doji candles ≥ 3 | **SKIP** - Market is too chaotic | No trade |
| "Close at High" count ≥ 2 + Last candle closes at high | **LONG** - Bullish confirmation | Buy Signal |
| "Close at Low" count ≥ 2 + Last candle closes at low | **SHORT** - Bearish confirmation | Sell Signal |
## Configuration Parameters
All parameters are adjustable in TradingView's "Settings/Inputs" tab:
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| **K-line Lookback Period** | 5 | 3-20 | Number of candlesticks to analyze |
| **Doji Threshold** | 0.1 | 0.0-1.0 | Body size / Total range ratio for doji identification |
| **Doji Count Limit** | 3 | 1-10 | Number of dojis that triggers skip signal |
| **Close at High Proximity** | 0.9 | 0.5-1.0 | Required proximity to highest price (0.9 = 90%) |
| **Close at Low Proximity** | 0.9 | 0.5-1.0 | Required proximity to lowest price (0.9 = 90%) |
### Parameter Tuning Guide
#### Proximity Thresholds (Close at High/Low)
- **0.95 or higher**: Stricter - only very strong candles qualify
- **0.90 (default)**: Balanced - good for most market conditions
- **0.80 or lower**: Looser - catches more patterns, higher false signals
#### Doji Threshold
- **0.05-0.10**: Strict doji identification
- **0.10-0.15**: Standard doji detection
- **0.15+**: Includes near-doji patterns
#### Lookback Period
- **3-5 bars**: Fast, sensitive to recent patterns
- **5-10 bars**: Balanced approach
- **10-20 bars**: Slower, filters out noise
## Visual Indicators
### Chart Markers
- **Green Up Arrow** ▲: Long entry signal triggered
- **Red Down Arrow** ▼: Short entry signal triggered
- **Gray X**: Skip signal (too many dojis detected)
### Statistics Table
Located at top-right corner, displays real-time pattern counts:
- **Close at High**: Count of candles closing near the high
- **Close at Low**: Count of candles closing near the low
- **Doji**: Count of doji/near-doji patterns
### Signal Labels
- Green label: "✓ Long condition met" - below entry bar
- Red label: "✓ Short condition met" - above entry bar
- Gray label: "⊠ Too many dojis, skip" - trade skipped
## Risk Management
### Exit Strategy
The strategy includes built-in exit rules based on ATR (Average True Range):
- **Stop Loss**: ATR × 2
- **Take Profit**: ATR × 3
Example: If ATR is $10, stop loss is at -$20 and take profit is at +$30
### Position Sizing
Default: 100% of equity per trade (adjustable in strategy properties)
**Recommendation**: Reduce to 10-25% of equity for safer capital allocation
## How to Use
### 1. Copy the Script
1. Open TradingView
2. Go to Pine Script Editor
3. Create a new indicator
4. Copy the entire `candle_pattern_strategy.pine` content
5. Click "Add to Chart"
### 2. Apply to Chart
- Select your preferred timeframe (1m, 5m, 15m, 1h, 4h, 1d)
- Choose a trading symbol (stocks, forex, crypto, etc.)
- The strategy will generate signals on all historical bars and in real-time
### 3. Configure Parameters
1. Right-click the strategy on chart → "Settings"
2. Adjust parameters in the "Inputs" tab
3. Strategy will recalculate automatically
4. Backtest results appear in the Strategy Tester panel
### 4. Backtesting
1. Click "Strategy Tester" (bottom panel)
2. Set date range for historical testing
3. Review performance metrics:
- Win rate
- Profit factor
- Drawdown
- Total returns
## Key Features
✅ **Execution Model Compliant** - Follows official Pine Script V6 standards
✅ **Global Scope** - All historical references in global scope for consistency
✅ **Adjustable Sensitivity** - Fine-tune all pattern detection thresholds
✅ **Real-time Updates** - Works on both historical and real-time bars
✅ **Visual Feedback** - Clear signals with labels and statistics table
✅ **Risk Management** - Built-in ATR-based stop loss and take profit
✅ **No Repainting** - Signals remain consistent after bar closes
## Important Notes
### Before Trading Live
1. **Backtest thoroughly**: Test on at least 6-12 months of historical data
2. **Paper trading first**: Practice with simulated trades
3. **Optimize parameters**: Find the best settings for your trading instrument
4. **Manage risk**: Never risk more than 1-2% per trade
5. **Monitor performance**: Review trades regularly and adjust as needed
### Market Conditions
The strategy works best in:
- Trending markets with clear directional bias
- Range-bound markets with defined support/resistance
- Markets with moderate volatility
The strategy may underperform in:
- Highly choppy/noisy markets (many false signals)
- Markets with gaps or overnight gaps
- Low liquidity periods
### Limitations
- Works on chart timeframes only (not intrabar analysis)
- Requires at least 5 bars of history (configurable)
- Fixed exit rules may not suit all trading styles
- No trend filtering (will trade both directions)
## Technical Details
### Historical Buffer Management
The strategy declares maximum bars back to ensure enough historical data:
```pine
max_bars_back(close, 20)
max_bars_back(open, 20)
max_bars_back(high, 20)
max_bars_back(low, 20)
```
This prevents runtime errors when accessing historical candlestick data.
### Pattern Detection Algorithm
```
For each bar in lookback period:
1. Calculate (high - close) / (high - low) → close_to_high_ratio
2. If close_to_high_ratio ≤ (1 - threshold) → count as "Close at High"
3. Calculate (close - low) / (high - low) → close_to_low_ratio
4. If close_to_low_ratio ≤ (1 - threshold) → count as "Close at Low"
5. Calculate abs(close - open) / (high - low) → body_ratio
6. If body_ratio ≤ doji_threshold → count as "Doji"
Signal Generation:
7. If doji_count ≥ cross_count_limit → SKIP_SIGNAL
8. If close_at_high_count ≥ 2 AND last_close_at_high → LONG_SIGNAL
9. If close_at_low_count ≥ 2 AND last_close_at_low → SHORT_SIGNAL
```
## Example Scenarios
### Scenario 1: Bullish Signal
```
Last 5 bars pattern:
Bar 1: Closes at high (95%) ✓
Bar 2: Closes at high (92%) ✓
Bar 3: Closes at mid (50%)
Bar 4: Closes at low (10%)
Bar 5: Closes at high (96%) ✓ (last bar)
Result:
- Close at high count: 3 (≥ 2) ✓
- Last closes at high: ✓
- Doji count: 0 (< 3) ✓
→ LONG SIGNAL ✓
```
### Scenario 2: Skip Signal
```
Last 5 bars pattern:
Bar 1: Doji pattern ✓
Bar 2: Doji pattern ✓
Bar 3: Closes at mid
Bar 4: Doji pattern ✓
Bar 5: Closes at high
Result:
- Doji count: 3 (≥ 3)
→ SKIP SIGNAL - Market too chaotic
```
## Performance Optimization
### Tips for Better Results
1. **Use Higher Timeframes**: 15m or higher reduces false signals
2. **Combine with Indicators**: Add volume or trend filters
3. **Seasonal Adjustment**: Different parameters for different seasons
4. **Instrument Selection**: Test on liquid, high-volume instruments
5. **Regular Rebalancing**: Adjust parameters quarterly based on performance
## Troubleshooting
### No Signals Generated
- Check if lookback period is too large
- Verify proximity thresholds aren't too strict (try 0.85 instead of 0.95)
- Ensure doji limit allows for trading (try 4-5 instead of 3)
### Too Many False Signals
- Increase proximity thresholds to 0.95+
- Reduce lookback period to 3-4 bars
- Increase doji limit to 3-4
- Test on higher timeframes
### Strategy Tester Shows Losses
- Review individual trades to identify patterns
- Adjust stop loss and take profit ratios
- Change lookback period and thresholds
- Test on different market conditions
## References
- (www.tradingview.com)
- (www.tradingview.com)
- (www.investopedia.com)
- (www.investopedia.com)
## Disclaimer
**This strategy is provided for educational and research purposes only.**
- Not financial advice
- Past performance does not guarantee future results
- Always conduct thorough backtesting before live trading
- Trading involves significant risk of loss
- Use proper risk management and position sizing
## License
Created: December 15, 2025
Version: 1.0
---
**For updates and modifications, refer to the accompanying documentation files.**
Smart Money Concepts [Kodexius]Smart Money Concepts is a price action framework designed to integrate market structure, liquidity behavior, and inefficiencies into a single, readable view. Rather than acting as a signal generator, it serves as a live market map highlighting where price has displaced, where liquidity may be resting, which zones remain valid, and how that context updates as new candles print.
What separates this script from typical “SMC bundles” is not the presence of familiar concepts like swings, order blocks, FVGs or liquidity sweeps. The value is in the engine design and how the components are maintained together as a consistent state, with automatic pruning and prioritization so the chart stays usable over time. Many tools can draw boxes, but fewer tools manage the lifecycle of those zones, reduce overlap, rank relevance, and keep the display focused on what still matters near current price.
At the core is a structure model that tracks directional state and labels structural transitions as they happen. CHoCH and BoS are not just printed whenever price crosses a line. Each event is anchored to a swing reference and handled in a way that reduces repeated triggers from the same context, helping you see genuine transitions versus minor noise. This gives structure a “narrative” across time instead of a cluttered sequence of identical labels.
Order blocks are built from the most relevant candle within the post break window and displayed as true zones that extend forward while they remain valid. Beyond the zone itself, the script adds context that is usually missing in basic OB implementations: a volumetric pressure visualization and a displacement strength score that is normalized and ranked over a rolling window. In practice, this creates an information hierarchy. You can quickly see which zones carried more participation, whether the internal push was dominated by buying or selling pressure, and whether the move that created the zone had meaningful displacement relative to recent history. This is designed to help prioritization, not to claim prediction.
Imbalances are handled as a dedicated module with multiple detection modes (FVG, VI, OG, IFVG) and optional MTF logic so you can map inefficiencies from a higher timeframe while executing on a lower timeframe. Each imbalance is displayed as a zone with a midline reference, and mitigation behavior can be tuned (wick or close). IFVG adds lifecycle depth by tracking inversion behavior rather than simply deleting the zone, which can be useful for monitoring how price rebalances and flips inefficiencies over time. An optional sentiment style internal fill is available for visual context, but it is intentionally framed as informational rather than a “buy/sell meter.”
Liquidity is treated as an event driven layer. Pivot highs and lows are tracked as potential liquidity pools, then monitored for sweeps and rejection behavior. If you enable EQH/EQL logic, the script can label equal highs and lows during the sweep process to highlight common resting liquidity formations. A volume filter is available to reduce low quality levels, aiming to keep the liquidity map focused on swings that occurred with meaningful participation rather than every small fluctuation.
Swing Failure Patterns (SFP) are included as a separate confirmation style tool that focuses on rejection after liquidity is taken. The module supports optional volume validation using lower timeframe volume distribution outside the swing level, which helps filter some low quality SFPs on noisy instruments. The output is a cleaner set of events intended to complement structure, liquidity and zones, not replace discretionary decision making.
For higher timeframe context, the HTF candle projection panel can display a compact set of higher timeframe candles to the right of current price, with classic or Heikin Ashi style and configurable sizing, spacing and labels. This allows you to maintain HTF awareness without switching charts, which is especially helpful when structure and zones are being interpreted across multiple timeframes.
Finally, the alert framework is designed around well defined structural and zone states. Alerts cover structural shifts (CHoCH, BoS), liquidity sweeps, new and broken order blocks, breaker behavior (if enabled), new and approached imbalances, premium and discount entries, trendline events, and SFP detection. These alerts are intended as monitoring prompts so you can review context, not as automated trade execution signals.
Every major component is modular and configurable. You can run a minimal structure only layout or enable a full framework with zones, imbalances, liquidity, SFP and HTF projection. The guiding principle is chart clarity and relevance: keep the most important information visible, reduce overlap and stale objects, and maintain a consistent view of how price is interacting with liquidity and value over time.
🔹 Features
🔸 Market Structure Engine (CHoCH and BoS)
This script automatically tracks zigzag based market structure and differentiates between:
CHoCH (Change of Character) : the first meaningful structural shift that suggests the prior directional leg is weakening.
BoS (Break of Structure) : continuation breaks that confirm structure extension in the active direction.
Instead of relying on plain pivot dots, our market structure swings are built with a lightweight zigzag style engine that tracks direction and “locks in” the true leg extreme only when the leg flips. This produces cleaner, more consistent swing highs/lows for BOS/CHoCH than simple left/right pivot checks.
Bullish CHoCH:
Bearish CHoCH:
Bullish BoS:
Bearish BoS:
🔸 Order Blocks with Volumetric and Displacement Insight
The script identifies recent bullish and bearish order block zones around meaningful structural reactions and keeps the display focused on the most relevant areas. Instead of drawing a static rectangle and leaving it there forever, each zone is maintained as an active region on the chart and can be limited by a user defined visibility depth to avoid clutter. When enabled, the overlay also adds compact volume based context inside the block so you can quickly compare relative participation between recent zones and see whether the origin move showed strong follow through versus a softer transition. The intention is to provide structured context and cleaner prioritization on the chart, not to present a trade call or a guaranteed reaction level.
Bullish Order Block:
Bearish Order Block:
Order blocks are derived from the structure shifts, marking the institutional “origin zone” behind a decisive move and projecting it forward as a live area of interest. In practice, it highlights the candle cluster where price last rebalanced before expanding away, so you can track potential retests with context instead of guessing.
Inside each order block, the internal bars act as a compact strength meter green vs red summarizes the relative bullish vs bearish participation, while the blue segment reflects the “departure force” (displacement/momentum) away from the zone. It’s meant to help you scan which blocks left clean and strong versus those that moved out more slowly or with mixed pressure.
🔸 Breaker Blocks & Mitigation Tracking
Tracks when previously identified order blocks fail and converts them into breaker blocks, visually marking a change in how price is interacting with that zone.
Bullish Breaker Block :
Bearish Breaker Block :
Separate handling of bullish and bearish breakers with clear color differentiation.
Includes optional “mitigation” logic using either wick or close to determine when a block is considered broken or mitigated.
Breaker blocks are updated and removed dynamically as price trades through them, keeping the chart focused on current, active zones.
🔸 Imbalances
The imbalance module maps common price inefficiencies as zones, with support for multiple detection styles such as Fair Value Gaps, volume style imbalances, opening gaps, and an inverted gap mode. Each imbalance is drawn as a practical area on the chart with a midpoint reference, so you can quickly see where price may be revisiting unbalanced movement. You can also choose how mitigation is evaluated (wick or close) and optionally run imbalance detection on a separate timeframe for cleaner higher timeframe context while staying on your execution chart.
Fair Value Gaps:
Inverse Fair Value Gaps:
Opening Gaps:
🔸 Liquidity Sweeps, EQH/EQL, and Optional Volume Filter
Liquidity levels are derived from swing highs and lows and then monitored for sweep behavior, where price trades beyond a prior level and rejects back. If you enable EQH/EQL marking, the script can highlight equal highs and equal lows behavior around those liquidity areas to make common pool formations easier to spot. An optional volume filter can be used to reduce tracking of low participation swings, helping keep the liquidity layer focused and less noisy on instruments that produce frequent small pivots.
Sellside Liquidity Sweep Definition:
Buyside Liquidity Sweep Definition:
Highlights equal highs (EQH) and equal lows (EQL) when sweeps occur, marking where price probed above/below prior liquidity and then rejected.
Optional volume filter to ignore low volume swings and focus on more meaningful liquidity zones.
🔸 Premium, Discount, and Equilibrium
The premium and discount view provides a simple contextual map of where price is trading within a measured range, alongside an optional equilibrium line as a midpoint reference. This is intended as a higher level framing tool to help you avoid treating every price location the same, especially when combining structure with reaction zones. Price labels can be enabled for quick orientation, and the display updates as the underlying range evolves.
Projects premium and discount bands based on a dynamically measured range, offering a simple view of where price is trading relative to that range.
Draws separate Premium and Discount boxes with optional price labels for quick orientation.
Optional mid line (equilibrium) to visualize the “50%” of the current range, often used as a reference for balanced versus extended price.
Zones auto update as the underlying range evolves, with logic to prevent stale levels from cluttering the chart.
🔸 Trend Channels
When enabled, the trend module draws swing based diagonal structure using trendlines and a channel style visualization. You can tune sensitivity and choose whether the source should be depending on how you prefer to read trend behavior. The channel is maintained dynamically so you can keep directional context without manually drawing and constantly adjusting diagonal lines, and the script can highlight basic break behavior when price pushes beyond the active diagonal reference.
🔸 Swing Failure Pattern (SFP) Detector
The SFP module highlights common swing failure behavior, where price briefly trades beyond a swing level and then reclaims it, often reflecting a liquidity grab followed by rejection. Bullish and bearish SFPs can be enabled independently, and the display is designed to keep the key level and the rejection visible without excessive clutter. Optional volume validation can be used as a filter, so you can choose whether you want the detector to be more permissive or more selective based on participation characteristics.
🔸 HTF Candle Projection Panel
The HTF panel projects a compact set of higher timeframe candles to the right of price, giving you higher timeframe context without switching charts. You can select classic candles or Heikin Ashi style, adjust the scale and spacing, and optionally display reference lines and labels for OHLC values. This is a visual context tool intended to support multi timeframe reading, not a replacement for your own higher timeframe analysis.
In addition to projecting higher timeframe candles, the HTF panel can also detect and visualize higher timeframe liquidity sweeps directly within the projected candle set. The script monitors each completed HTF candle’s high and low and evaluates subsequent HTF candles for sweep behavior i.e., when price briefly trades beyond a prior HTF extreme but fails to hold acceptance beyond it (filtered using the later candle’s body positioning). When a sweep is detected, the panel draws a dotted sweep line and marks the event, allowing you to spot HTF stop runs and failed breaks without switching timeframes. Sweeps are dynamically invalidated if a later HTF candle shows genuine acceptance beyond that level, ensuring the display stays context relevant and avoids stale markings. This turns the HTF projection from a passive visualization into an actionable context layer for identifying HTF liquidity events while executing on lower timeframes.
🔸 Alerts
Alerts are included for the most practical events produced by the overlay, such as structure shifts (CHoCH and BoS), liquidity sweeps, new and invalidated zones, price approaching recent zones, imbalance creation and mitigation, premium or discount entries, trendline events, and SFP detections. The alerts are designed to function as a monitoring layer so you can be notified when something changes in your mapped context, rather than acting as standalone trade instructions.
🔸 Originality & Usefulness
This script is not a collection of separate SMC drawings layered on top of price. It is built as a unified price action engine where market structure, order blocks, inefficiencies, and liquidity are produced from the same evolving state. That matters because most SMC indicators treat these concepts as independent overlays, which often leads to contradictory markings and excessive clutter. Here, the design priority is consistency and readability: modules update in sync, older elements are managed, and the chart stays usable during live conditions.
A key differentiator is the internal swing logic, which functions like a compact zigzag style structure engine. Instead of reacting to every minor fluctuation, it aims to focus on meaningful swing decisions and treat structure as a sequence. This reduces repetitive labeling and makes structural transitions easier to follow. Structure events are anchored to the swing that defined them and are designed to trigger in a clean, non spammy way, which is critical for anyone who uses structure as a workflow backbone.
The structure layer is intentionally narrative oriented. It separates a transition event from continuation events, so CHoCH is used to highlight the first meaningful shift after an established leg, while BoS is used to mark follow through in the same direction. This is not a prediction claim. It is a clarity feature that helps users read “phase changes” versus “continuation” without constantly second guessing whether the script is just printing noise.
Order blocks are where this script becomes especially distinctive compared to typical SMC tools. Instead of drawing identical rectangles, each block is rendered with an internal gauge that communicates participation and directional dominance at a glance. The zone is visually segmented to reflect bullish and bearish pressure components, and it also carries a volume readout plus a relative weight compared to other recent blocks. This creates a ranked view of blocks rather than an unfiltered pile. In practice, you can prioritize zones faster because the script surfaces which blocks had more meaningful participation and whether the internal push looked one sided or mixed. The result is less subjective filtering and a cleaner chart.
Imbalances are handled as structured inefficiency zones with clear references and optional context. Beyond drawing the zone and midpoint, the script can overlay a sentiment style gauge that divides the imbalance into bullish and bearish portions and updates as new data comes in. The practical value is that you can see whether an inefficiency remains strongly one sided or is gradually being balanced. This turns imbalances from static boxes into a living context layer, which is particularly useful when you monitor reactions over time instead of treating every touch the same.
Liquidity is treated as an event driven tracking system rather than simple pivot plotting. Liquidity pools are identified from swing behavior and can be gated through a participation filter so the script focuses on levels that formed with meaningful activity rather than low quality noise. Once tracked, levels are monitored for outcomes like sweeps and equal high/low behavior, and then updated or retired when they are decisively resolved. This prevents the display from accumulating stale levels and keeps the liquidity layer focused on what is still relevant now.
Swing failure patterns are integrated as selective events rather than continuous spam. The intent is to produce fewer but more structurally meaningful SFPs, aligned with the liquidity narrative, instead of printing clusters around the same price area. This keeps the pattern readable and reinforces the “event based” design philosophy across the script.
Higher timeframe context is supported through a compact HTF projection panel that provides quick orientation without forcing constant timeframe switching. It lets you see where current price action sits inside a larger timeframe candle and range, which helps maintain consistency when you are executing on a lower timeframe but respecting higher timeframe structure.
Disclaimer: This indicator is for educational and analytical purposes only. It does not provide financial advice, and it does not guarantee results.
🔹 How to Use
This tool is designed to support multiple trading styles, but it is most effective when you treat it as a top down mapping and decision support tool. A practical workflow looks like this.
1) Establish higher timeframe bias and context
Start on your reference timeframe such as H4 or Daily and read the market’s dominant story first. Use the Market Structure Engine to identify whether the market is in continuation mode or transition mode. The goal is to avoid executing lower timeframe ideas that conflict with the larger structure narrative.
Use the HTF Candle Projection Panel as a fast orientation aid. It helps you judge whether current price is building acceptance near the highs of the larger candle, rotating back toward its open, or rejecting from its extremes. This is especially useful when you execute on lower timeframes but want to stay aligned with higher timeframe positioning.
Add Premium and Discount framing to understand location. When price is trading in premium, continuation longs are often more selective and require stronger confirmation, while shorts may have better location if structure supports it. When price is in discount, the opposite applies. Treat this as location context, not a rule.
2) Map your key reaction zones with prioritization
Next, build your map of where reactions are most likely to occur. Enable Order Blocks with Volumetric Insight to highlight the most relevant origin zones that form after important structure events. Keep your focus on the most recent blocks and adjust the visible depth so the chart stays clean.
Use the internal gauge and participation readouts to prioritize. Instead of treating every zone as equal, treat higher participation blocks as primary candidates and lower participation blocks as secondary. The bullish and bearish split inside the gauge helps you quickly judge whether the zone formed from a clearly one sided push or a more mixed move, which can inform how strict you want to be with confirmation on a retest.
If you use Breaker Blocks, treat them as role shift zones. They are especially useful when the market has clearly transitioned and you want to track where a previously defended origin area may become a meaningful retest level later.
3) Layer in inefficiencies only where they add clarity
If your workflow includes imbalances, add them selectively to avoid visual overload. Use Fair Value Gaps, Volume Imbalances, or Opening Gaps as secondary reaction areas that often sit inside, near, or between larger zones.
If you enable the internal sentiment gauge, read it as context rather than a signal. It is meant to help you see whether the imbalance remains one sided or has started to balance out as price develops. A strongly one sided presentation can support the idea of continuation through the zone, while a more balanced presentation can support the idea of deeper mitigation or chop. Use it to refine expectations, not to force entries.
4) Track liquidity as events, not as static levels
Enable Liquidity Sweeps and EQH/EQL tagging to highlight where resting liquidity is likely concentrated and when it gets taken. The main value here is narrative: you can see when price runs obvious highs or lows and whether it immediately rejects back into structure or accepts beyond the level.
If you use the volume filter, treat it as a quality gate. The point is to ignore small, low participation swings and keep the liquidity layer focused on levels that formed with meaningful activity. This tends to reduce noise and makes sweeps and equal level behavior more relevant.
Combine the liquidity layer with the Swing Failure Pattern detector to isolate moments where liquidity is taken and then rejected. The cleanest use is when SFPs occur at or near your pre mapped reaction zones, after a sweep, and in alignment with your higher timeframe bias.
5) Refine execution timing on your entry timeframe
Drop to your execution timeframe and use local structure shifts as timing tools. CHoCH and BoS on the lower timeframe can help you see when micro structure is flipping in your intended direction after price interacts with your mapped zone.
If you use the Trend Channel framework, treat it as diagonal context rather than strict support and resistance. A channel helps you see where price is riding the trend and where it is deviating. This can help you time entries by waiting for price to re enter the corridor, show rejection near a boundary, or confirm a shift by building structure outside the channel.
A common practical sequence is: price reaches a mapped OB or imbalance area, liquidity gets taken, price rejects, micro structure begins to flip, and then you execute with your own confirmation and risk rules. The tool helps you see each step clearly, but your plan determines what is sufficient confirmation.
6) Use alerts as monitoring, not as standalone signals
Set alerts only for events that are meaningful to your workflow, such as:
-fresh CHoCH or BoS in your preferred direction
-new or invalidated order blocks and breaker blocks
-price approaching the most recent priority zones
-liquidity sweeps and EQH/EQL interactions
-new SFP events
-entry into premium or discount and interaction with HTF projection levels
-imbalance creation, mitigation, or approach
Treat alerts as prompts to check the chart, not as automatic entries or exits. This script is designed as a mapping and decision support tool. Trade execution, confirmation, and risk management remain entirely dependent on your own strategy and discretion.
🔴 Price Action Practical Notes
💠 Market structure
Market structure is the framework used to describe how price organizes itself into swings. It is built from successive swing highs and swing lows, and it is used to decide whether the market is expanding upward, expanding downward, or transitioning. A practical structure model focuses on “meaningful” turning points rather than every minor fluctuation, because the goal is to capture intent and flow, not noise.
💠 Swing highs and swing lows
A swing high is a local peak where price stops advancing and begins to rotate lower, while a swing low is a local trough where selling pressure pauses and price rotates higher. Swings matter because many traders anchor risk, liquidity, and entries around them. The stronger the reaction away from a swing, the more likely it is to be referenced again as a decision point.
💠 Break of structure
A break of structure is the event where price decisively exceeds a prior swing in the direction of the prevailing move. In practice, it is used as confirmation that a directional leg is still active and that liquidity resting beyond the swing has been taken. This concept is less about predicting and more about validating continuation.
💠 Change of character
A change of character is a structural break that signals transition rather than continuation. Instead of breaking a swing in the same direction as the recent trend, price breaks a key swing in the opposite direction, suggesting that control may be shifting. It is often treated as an early warning that the market may be moving from continuation into reversal or deeper pullback conditions.
💠 Order blocks
An order block is commonly described as the last opposing candle or consolidation zone that precedes a strong directional expansion. The idea is that this area represents a footprint of aggressive execution and unfilled interest. When price revisits it later, it can act as a reaction zone because participants who missed the move may defend it, or because remaining orders may still exist there.
💠 Mitigation and invalidation of a zone
Mitigation describes the process of price returning to a zone and “consuming” the remaining interest there. A zone is typically considered invalidated when price trades through it in a way that implies the resting orders were absorbed and the area no longer has protective value. Some approaches treat a wick through the boundary as enough to invalidate, while others require a candle close beyond the boundary to confirm that the level has truly failed.
💠 Breaker blocks
A breaker block is an order block concept that changes role after being invalidated. When a previously respected zone fails, it can later become a reaction area in the opposite direction because trapped participants may use the retest to exit, or because the market may recognize it as a new supply or demand reference. Breakers are often treated as “failed zones that become liquidity magnets” and are closely watched on retests.
💠 Liquidity and liquidity pools
Liquidity is the availability of resting orders that allow large transactions to execute with minimal slippage. In chart terms, liquidity pools often form around obvious swing highs and lows, equal highs and lows, and clear ranges. These areas attract price because they contain clustered stops and entries that can be used to fuel continuation or trigger reversals through rapid order flow shifts.
💠 Liquidity sweeps
A liquidity sweep is a move where price briefly trades beyond a known liquidity pool and then returns back inside, often closing back within the prior range. The concept implies that stops were triggered and liquidity was captured, but that continuation beyond the swept level did not sustain. Sweeps are frequently used as context for reversals or for confirming that a “cleanout” occurred before a directional move.
💠 Equal highs and equal lows
Equal highs and equal lows describe repeated swing levels that form a flat or nearly flat top or bottom. They matter because they concentrate liquidity. Many traders place stops just beyond these repeated levels, and many breakout traders place entries around them. The result is a dense cluster of orders that can be targeted efficiently by price.
💠Imbalances and inefficiencies
Imbalances represent zones where price moved so quickly that it left behind inefficient trading, meaning fewer transactions occurred in that region compared to surrounding areas. The underlying idea is that markets often revisit these areas to rebalance, fill gaps, or complete unfinished business. Imbalances are treated as areas of interest for pullback entries, targets, or reaction zones.
💠 Fair value gap
A fair value gap is a specific form of imbalance commonly framed as a three candle displacement that leaves a gap between candles, indicating rapid repricing. Traders use it as a proxy for inefficiency: if price returns, it may partially or fully fill the gap before continuing. The midpoint of the gap is often treated as a particularly relevant reference, but whether price respects it depends on context.
💠 Inverted fair value gap
An inverted fair value gap is the idea that once an imbalance is “broken” in a meaningful way, the zone can flip its behavior. Instead of acting like a supportive zone, it may become resistive (or vice versa) on a later retest. Conceptually, this is similar to role reversal: what once behaved as a continuation aid can become a rejection zone after failure.
💠 Premium, discount, and equilibrium
Premium and discount describe where price sits relative to a defined recent range. Premium is the upper portion of that range and discount is the lower portion. Equilibrium is the midpoint. The concept is mainly used to align trade direction with location: buying is generally more attractive in discount and selling is generally more attractive in premium, assuming you are trading mean reversion within a range or seeking favorable risk placement within a broader trend.
💠 Swing failure pattern
A swing failure pattern is a reversal archetype where price breaks a known swing level, fails to hold beyond it, and returns back through the level. The logic is that the breakout attempt attracted orders and triggered stops, but the market rejected the extension. SFPs are often considered higher quality when the failure is followed by a decisive move away and when it aligns with a broader liquidity narrative.
💠 Higher timeframe context
Higher timeframe context means framing intraday or lower timeframe signals within the structure of a larger timeframe. This can include aligning trades with higher timeframe swings, using higher timeframe candles as reference for open/high/low behavior, and avoiding taking counter trend signals when the larger timeframe is strongly directional. The purpose is to improve signal quality by ensuring the smaller timeframe idea is not fighting a dominant larger flow.
💠 Trend channels
A trend channel is a structured way to visualize a market’s directional “lane” by framing price between two roughly parallel boundaries. The central idea is that trending price action often oscillates in a repeatable corridor: pullbacks tend to stall around one side of the lane, while impulses tend to extend toward the opposite side. Instead of treating trend as a single line, a channel treats trend as an area, which better reflects real market behavior where reactions occur in zones rather than at perfect prices.
A channel typically has three functional references: a guiding line that represents the prevailing slope, an upper boundary that approximates where bullish expansions tend to stretch before mean reversion, and a lower boundary that approximates where bearish pullbacks tend to terminate before continuation. The space between boundaries represents the market’s accepted path. When price stays inside this corridor, the trend is considered healthy. When price repeatedly fails to progress within it, the trend is weakening.
Channels are commonly used for timing and location. In an uptrend channel, pullbacks into the lower portion of the corridor are often treated as higher quality “location” for continuation attempts, while pushes into the upper portion are treated as extension territory where risk of a pause or retracement increases. In a downtrend channel, the logic is mirrored: rallies into the upper portion are often treated as sell side location, and moves into the lower portion are treated as extension territory. The channel does not predict direction by itself; it provides a disciplined map for where continuation is more likely versus where momentum is more likely to cool.
A key concept is acceptance versus deviation. If price briefly pierces a boundary and snaps back inside, that is often interpreted as a deviation, meaning the market tested outside the lane but did not accept it. If price holds outside the corridor and begins to build new swings there, that suggests acceptance and a potential regime change: either a new channel with a different slope, a shift into range, or a broader reversal context. This is why channels are most useful when you treat them as a framework for evaluating behavior, not as rigid support and resistance.
VV Moving Average Convergence Divergence # VMACDv3 - Volume-Weighted MACD with A/D Divergence Detection
## Overview
**VMACDv3** (Volume-Weighted Moving Average Convergence Divergence Version 3) is a momentum indicator that applies volume-weighting to traditional MACD calculations on price, while using the Accumulation/Distribution (A/D) line for divergence detection. This hybrid approach combines volume-weighted price momentum with volume distribution analysis for comprehensive market insight.
## Key Features
- **Volume-Weighted Price MACD**: Traditional MACD calculation on price but weighted by volume for earlier signals
- **A/D Divergence Detection**: Identifies when A/D trend diverges from MACD momentum
- **Volume Strength Filtering**: Distinguishes high-volume confirmations from low-volume noise
- **Color-Coded Histogram**: 4-color system showing momentum direction and volume strength
- **Real-Time Alerts**: Background colors and alert conditions for bullish/bearish divergences
## Difference from ACCDv3
| Aspect | VMACDv3 | ACCDv3 |
|--------|---------|---------|
| **MACD Input** | **Price (Close)** | **A/D Line** |
| **Volume Weighting** | Applied to price | Applied to A/D line |
| **Primary Signal** | Volume-weighted price momentum | Volume distribution momentum |
| **Use Case** | Price momentum with volume confirmation | Volume flow and accumulation/distribution |
| **Sensitivity** | More responsive to price changes | More responsive to volume patterns |
| **Best For** | Trend following, breakouts | Volume analysis, smart money tracking |
**Key Insight**: VMACDv3 shows *where price is going* with volume weight, while ACCDv3 shows *where volume is accumulating/distributing*.
## Components
### 1. Volume-Weighted MACD on Price
Unlike standard MACD that uses simple price EMAs, VMACDv3 weights each price by its corresponding volume:
```
Fast Line = EMA(Price × Volume, 12) / EMA(Volume, 12)
Slow Line = EMA(Price × Volume, 26) / EMA(Volume, 26)
MACD = Fast Line - Slow Line
```
**Benefits of Volume Weighting**:
- High-volume price movements have greater impact
- Filters out low-volume noise and false moves
- Provides earlier trend change signals
- Better reflects institutional activity
### 2. Accumulation/Distribution (A/D) Line
Used for divergence detection, measuring buying/selling pressure:
```
A/D = Σ ((2 × Close - Low - High) / (High - Low)) × Volume
```
- **Rising A/D**: Accumulation (buying pressure)
- **Falling A/D**: Distribution (selling pressure)
- **Doji Handling**: When High = Low, contribution is zero
### 3. Signal Lines
- **MACD Line** (Blue, #2962FF): The fast-slow difference showing momentum
- **Signal Line** (Orange, #FF6D00): EMA or SMA smoothing of MACD
- **Zero Line**: Reference for bullish (above) vs bearish (below) bias
### 4. Histogram Color System
The histogram uses 4 distinct colors based on **direction** and **volume strength**:
| Condition | Color | Meaning |
|-----------|-------|---------|
| Rising + High Volume | **Dark Green** (#1B5E20) | Strong bullish momentum with volume confirmation |
| Rising + Low Volume | **Light Teal** (#26A69A) | Bullish momentum but weak volume (less reliable) |
| Falling + High Volume | **Dark Red** (#B71C1C) | Strong bearish momentum with volume confirmation |
| Falling + Low Volume | **Light Pink** (#FFCDD2) | Bearish momentum but weak volume (less reliable) |
Additional shading:
- **Light Cyan** (#B2DFDB): Positive but not rising (momentum stalling)
- **Bright Red** (#FF5252): Negative and accelerating down
### 5. Divergence Detection
VMACDv3 compares A/D trend against volume-weighted price MACD:
#### Bullish Divergence (Green Background)
- **Condition**: A/D is trending up BUT MACD is negative and trending down
- **Interpretation**: Volume is accumulating while price momentum appears weak
- **Signal**: Smart money accumulation, potential bullish reversal
- **Action**: Look for long entries, especially at support levels
#### Bearish Divergence (Red Background)
- **Condition**: A/D is trending down BUT MACD is positive and trending up
- **Interpretation**: Volume is distributing while price momentum appears strong
- **Signal**: Smart money distribution, potential bearish reversal
- **Action**: Consider exits, avoid new longs, watch for breakdown
## Parameters
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| **Source** | Close | OHLC/HLC3/etc | Price source for MACD calculation |
| **Fast Length** | 12 | 1-50 | Period for fast EMA (shorter = more sensitive) |
| **Slow Length** | 26 | 1-100 | Period for slow EMA (longer = smoother) |
| **Signal Smoothing** | 9 | 1-50 | Period for signal line (MACD smoothing) |
| **Signal Line MA Type** | EMA | SMA/EMA | Moving average type for signal calculation |
| **Volume MA Length** | 20 | 5-100 | Period for volume average (strength filter) |
## Usage Guide
### Reading the Indicator
1. **MACD Lines (Blue & Orange)**
- **Blue Line (MACD)**: Volume-weighted price momentum
- **Orange Line (Signal)**: Smoothed trend of MACD
- **Crossovers**: Blue crosses above orange = bullish, below = bearish
- **Distance**: Wider gap = stronger momentum
- **Zero Line Position**: Above = bullish bias, below = bearish bias
2. **Histogram Colors**
- **Dark Green (#1B5E20)**: Strong bullish move with high volume - **most reliable buy signal**
- **Light Teal (#26A69A)**: Bullish but low volume - wait for confirmation
- **Dark Red (#B71C1C)**: Strong bearish move with high volume - **most reliable sell signal**
- **Light Pink (#FFCDD2)**: Bearish but low volume - may be temporary dip
3. **Background Divergence Alerts**
- **Green Background**: A/D accumulating while price weak - potential bottom
- **Red Background**: A/D distributing while price strong - potential top
- Most powerful at key support/resistance levels
### Trading Strategies
#### Strategy 1: Volume-Confirmed Trend Following
1. Wait for MACD to cross above zero line
2. Look for **dark green** histogram bars (high volume confirmation)
3. Enter long on second consecutive dark green bar
4. Hold while histogram remains green
5. Exit when histogram turns light green or red appears
6. Set stop below recent swing low
**Example**:
```
Price: 26,400 → 26,450 (rising)
MACD: -50 → +20 (crosses zero)
Histogram: Light teal → Dark green → Dark green
Volume: 50k → 75k → 90k (increasing)
```
#### Strategy 2: Divergence Reversal Trading
1. Identify divergence background (green = bullish, red = bearish)
2. Confirm with price structure (support/resistance, chart patterns)
3. Wait for MACD to cross signal line in divergence direction
4. Enter on first **dark colored** histogram bar after divergence
5. Set stop beyond divergence area
6. Target previous swing high/low
**Example - Bullish Divergence**:
```
Price: Making lower lows (26,350 → 26,300 → 26,250)
A/D: Rising (accumulation)
MACD: Below zero but starting to curve up
Background: Green shading appears
Entry: MACD crosses signal line + dark green bar
Stop: Below 26,230
Target: 26,450 (previous high)
```
#### Strategy 3: Momentum Scalping
1. Trade only in direction of MACD zero line (above = long, below = short)
2. Enter on dark colored bars only
3. Exit on first light colored bar or opposite color
4. Quick in and out (1-5 minute holds)
5. Tight stops (0.2-0.5% depending on instrument)
#### Strategy 4: Histogram Pattern Trading
**V-Bottom Reversal (Bullish)**:
- Red histogram bars start rising (becoming less negative)
- Forms "V" shape at the bottom
- Transitions to light red → light teal → **dark green**
- Entry: First dark green bar
- Signal: Momentum reversal with volume
**Λ-Top Reversal (Bearish)**:
- Green histogram bars start falling (becoming less positive)
- Forms inverted "V" at the top
- Transitions to light green → light pink → **dark red**
- Entry: First dark red bar
- Signal: Momentum exhaustion with volume
### Multi-Timeframe Analysis
**Recommended Approach**:
1. **Higher Timeframe (15m/1h)**: Identify overall trend direction
2. **Trading Timeframe (5m)**: Time entries using VMACDv3 signals
3. **Lower Timeframe (1m)**: Fine-tune entry prices
**Example Setup**:
```
15-minute: MACD above zero (bullish bias)
5-minute: Dark green histogram appears after pullback
1-minute: Enter on break of recent high with volume
```
### Volume Strength Interpretation
The volume filter compares current volume to 20-period average:
- **Volume > Average**: Dark colors (green/red) - high confidence signals
- **Volume < Average**: Light colors (teal/pink) - lower confidence signals
**Trading Rules**:
- ✓ **Aggressive**: Take all dark colored signals
- ✓ **Conservative**: Only take dark colors that follow 2+ light colors of same type
- ✗ **Avoid**: Trading light colored signals during high volatility
- ✗ **Avoid**: Ignoring volume context during news events
## Technical Details
### Volume-Weighted Calculation
```pine
// Volume-weighted fast EMA
fast_ma = ta.ema(src * volume, fast_length) / ta.ema(volume, fast_length)
// Volume-weighted slow EMA
slow_ma = ta.ema(src * volume, slow_length) / ta.ema(volume, slow_length)
// MACD is the difference
macd = fast_ma - slow_ma
// Signal line smoothing
signal = ta.ema(macd, signal_length) // or ta.sma() if SMA selected
// Histogram
hist = macd - signal
```
### Divergence Detection Logic
```pine
// A/D trending up if above its 5-period SMA
ad_trend = ad > ta.sma(ad, 5)
// MACD trending up if above zero
macd_trend = macd > 0
// Divergence when trends oppose each other
divergence = ad_trend != macd_trend
// Specific conditions for alerts
bullish_divergence = ad_trend and not macd_trend and macd < 0
bearish_divergence = not ad_trend and macd_trend and macd > 0
```
### Histogram Coloring Logic
```pine
hist_color = (hist >= 0
? (hist < hist
? (vol_strength ? #1B5E20 : #26A69A) // Rising: dark/light green
: #B2DFDB) // Positive but falling: cyan
: (hist < hist
? (vol_strength ? #B71C1C : #FFCDD2) // Rising (less negative): dark/light red
: #FF5252)) // Falling more: bright red
```
## Alerts
Built-in alert conditions for divergence detection:
### Bullish Divergence Alert
- **Trigger**: A/D trending up, MACD negative and trending down
- **Message**: "Bullish Divergence: A/D trending up but MACD trending down"
- **Use Case**: Potential reversal or continuation after pullback
- **Action**: Look for long entry setups
### Bearish Divergence Alert
- **Trigger**: A/D trending down, MACD positive and trending up
- **Message**: "Bearish Divergence: A/D trending down but MACD trending up"
- **Use Case**: Potential top or trend reversal
- **Action**: Consider exits or short entries
### Setting Up Alerts
1. Click "Create Alert" in TradingView
2. Condition: Select "VMACDv3"
3. Choose alert type: "Bullish Divergence" or "Bearish Divergence"
4. Configure: Email, SMS, webhook, or popup
5. Set frequency: "Once Per Bar Close" recommended
## Comparison Tables
### VMACDv3 vs Standard MACD
| Feature | Standard MACD | VMACDv3 |
|---------|---------------|---------|
| **Price Weighting** | Equal weight all bars | Volume-weighted |
| **Sensitivity** | Fixed | Adaptive to volume |
| **False Signals** | More during low volume | Fewer (volume filter) |
| **Divergence** | Price vs MACD | A/D vs MACD |
| **Volume Analysis** | None | Built-in |
| **Color System** | 2 colors | 4+ colors |
| **Best For** | Simple trend following | Volume-confirmed trading |
### VMACDv3 vs ACCDv3
| Aspect | VMACDv3 | ACCDv3 |
|--------|---------|--------|
| **Focus** | Price momentum | Volume distribution |
| **Reactivity** | Faster to price moves | Faster to volume shifts |
| **Best Markets** | Trending, breakouts | Accumulation/distribution phases |
| **Signal Type** | Where price + volume going | Where smart money positioning |
| **Divergence Meaning** | Volume vs price disagreement | A/D vs momentum disagreement |
| **Use Together?** | ✓ Yes, complementary | ✓ Yes, different perspectives |
## Example Trading Scenarios
### Scenario 1: Strong Bullish Breakout
```
Time: 9:30 AM (market open)
Price: Breaks above 26,400 resistance
MACD: Crosses above zero line
Histogram: Dark green bars (#1B5E20)
Volume: 2x average (150k vs 75k avg)
A/D: Rising (no divergence)
Action: Enter long at 26,405
Stop: 26,380 (below breakout)
Target 1: 26,450 (risk:reward 1:2)
Target 2: 26,500 (risk:reward 1:4)
Result: High probability setup with volume confirmation
```
### Scenario 2: False Breakout (Avoided)
```
Time: 2:30 PM (slow period)
Price: Breaks above 26,400 resistance
MACD: Slightly positive
Histogram: Light teal bars (#26A69A)
Volume: 0.5x average (40k vs 75k avg)
A/D: Flat/declining
Action: Avoid trade
Reason: Low volume, no conviction, potential false breakout
Outcome: Price reverses back below 26,400 within 10 minutes
Saved: Avoided losing trade due to volume filter
```
### Scenario 3: Bullish Divergence Bottom
```
Time: 11:00 AM
Price: Making lower lows (26,350 → 26,300 → 26,280)
MACD: Below zero but curving upward
Histogram: Red bars getting shorter (V-bottom forming)
Background: Green shading (divergence alert)
A/D: Rising despite price falling
Volume: Increasing on down bars
Setup:
1. Divergence appears at 26,280 (green background)
2. Wait for MACD to cross signal line
3. First dark green bar appears at 26,290
4. Enter long: 26,295 (next bar open)
5. Stop: 26,265 (below divergence low)
6. Target: 26,350 (previous swing high)
Result: +55 points (30 point risk, 1.8:1 reward)
Key: Divergence + volume confirmation = high probability reversal
```
### Scenario 4: Bearish Divergence Top
```
Time: 1:45 PM
Price: Making higher highs (26,500 → 26,520 → 26,540)
MACD: Positive but flattening
Histogram: Green bars getting shorter (Λ-top forming)
Background: Red shading (bearish divergence)
A/D: Declining despite rising price
Volume: Decreasing on up bars
Setup:
1. Bearish divergence at 26,540 (red background)
2. MACD crosses below signal line
3. First dark red bar appears at 26,535
4. Enter short: 26,530
5. Stop: 26,555 (above divergence high)
6. Target: 26,475 (support level)
Result: +55 points (25 point risk, 2.2:1 reward)
Key: Distribution while price rising = smart money exiting
```
### Scenario 5: V-Bottom Reversal
```
Downtrend in progress
MACD: Deep below zero (-150)
Histogram: Series of dark red bars
Pattern Development:
Bar 1: Dark red, hist = -80, falling
Bar 2: Dark red, hist = -95, falling
Bar 3: Dark red, hist = -100, falling (extreme)
Bar 4: Light pink, hist = -98, rising!
Bar 5: Light pink, hist = -90, rising
Bar 6: Light teal, hist = -75, rising (crosses to positive momentum)
Bar 7: Dark green, hist = -55, rising + volume
Action: Enter long on Bar 7
Reason: V-bottom confirmed with volume
Stop: Below Bar 3 low
Target: Zero line on histogram (mean reversion)
```
## Best Practices
### Entry Rules
✓ **Wait for dark colors**: High-volume confirmation is key
✓ **Confirm divergences**: Use with price support/resistance
✓ **Trade with zero line**: Long above, short below for best odds
✓ **Multiple timeframes**: Align 1m, 5m, 15m signals
✓ **Watch for patterns**: V-bottoms and Λ-tops are reliable
### Exit Rules
✓ **Partial profits**: Take 50% at first target
✓ **Trail stops**: Use histogram color changes
✓ **Respect signals**: Exit on opposite dark color
✓ **Time stops**: Close positions before major news
✓ **End of day**: Square up before close
### Avoid
✗ **Don't chase light colors**: Low volume = low confidence
✗ **Don't ignore divergence**: Early warning system
✗ **Don't overtrade**: Wait for clear setups
✗ **Don't fight the trend**: Zero line dictates bias
✗ **Don't skip stops**: Always use risk management
## Risk Management
### Position Sizing
- **Dark green/red signals**: 1-2% account risk
- **Light signals**: 0.5% account risk or skip
- **Divergence plays**: 1% account risk (higher uncertainty)
- **Multiple confirmations**: Up to 2% account risk
### Stop Loss Placement
- **Trend trades**: Below/above recent swing (20-30 points typical)
- **Breakout trades**: Below/above breakout level (15-25 points)
- **Divergence trades**: Beyond divergence extreme (25-40 points)
- **Scalp trades**: Tight stops at 10-15 points
### Profit Targets
- **Minimum**: 1.5:1 reward to risk ratio
- **Scalps**: 15-25 points (quick in/out)
- **Swing**: 50-100 points (hold through pullbacks)
- **Runners**: Trail with histogram color changes
## Timeframe Recommendations
| Timeframe | Trading Style | Typical Hold | Advantages | Challenges |
|-----------|---------------|--------------|------------|------------|
| **1-minute** | Scalping | 1-5 minutes | Fast profits, many setups | Noisy, high false signals |
| **5-minute** | Intraday | 15-60 minutes | Balance of speed/clarity | Still requires quick decisions |
| **15-minute** | Swing | 1-4 hours | Clearer trends, less noise | Fewer opportunities |
| **1-hour** | Position | 4-24 hours | Strong signals, less monitoring | Wider stops required |
**Recommendation**: Start with 5-minute for best balance of signal quality and opportunity frequency.
## Combining with Other Indicators
### VMACDv3 + ACCDv3
- **Use**: Confirm volume flow with price momentum
- **Signal**: Both showing dark green = highest conviction long
- **Divergence**: VMACDv3 bullish + ACCDv3 bearish = examine price action
### VMACDv3 + RSI
- **Use**: Overbought/oversold with momentum confirmation
- **Signal**: RSI < 30 + dark green VMACD = strong reversal
- **Caution**: RSI > 70 + light green VMACD = potential false breakout
### VMACDv3 + Elder Impulse
- **Use**: Bar coloring + histogram confirmation
- **Signal**: Green Elder bars + dark green VMACD = aligned momentum
- **Exit**: Blue Elder bars + light colors = momentum stalling
## Limitations
- **Requires volume data**: Will not work on instruments without volume feed
- **Lagging indicator**: MACD inherently follows price (2-3 bar delay)
- **Consolidation noise**: Generates false signals in tight ranges
- **Gap handling**: Large gaps can distort volume-weighted values
- **Not standalone**: Should combine with price action and support/resistance
## Troubleshooting
**Problem**: Too many light colored signals
**Solution**: Increase Volume MA Length to 30-40 for stricter filtering
**Problem**: Missing entries due to waiting for dark colors
**Solution**: Lower Volume MA Length to 10-15 for more signals (accept lower quality)
**Problem**: Divergences not appearing
**Solution**: Verify volume data available; check if A/D line is calculating
**Problem**: Histogram colors not changing
**Solution**: Ensure real-time data feed; refresh indicator
## Version History
- **v3**: Removed traditional MACD, using volume-weighted MACD on price with A/D divergence
- **v2**: Added A/D divergence detection, volume strength filtering, enhanced histogram colors
- **v1**: Basic volume-weighted MACD on price
## Related Indicators
**Companion Tools**:
- **ACCDv3**: Volume-weighted MACD on A/D line (distribution focus)
- **RSIv2**: RSI with A/D divergence detection
- **DMI**: Directional Movement Index with A/D divergence
- **Elder Impulse**: Bar coloring system using volume-weighted MACD
**Use Together**: VMACDv3 (momentum) + ACCDv3 (distribution) + Elder Impulse (bar colors) = complete volume-based trading system
---
*This indicator is for educational purposes. Past performance does not guarantee future results. Always practice proper risk management and never risk more than you can afford to lose.*
ICT Smart Money Trading Suite PRO [SwissAlgo]ICT SMC Trading Suite Pro
Structure Detection. Imbalance Tracking. Trade Planning. Contextual Alerts.
Why This Integrated System Was Built
The ICT/SMC methodology requires tracking multiple analytical components simultaneously - a process prone to manual errors, time inefficiency, and visual clutter . This indicator consolidates these elements into a single, unified system , providing rules-based validation for experienced ICT traders who may struggle with execution speed, consistency, and manual calculations.
-----------------------------------------------------------------
What This Indicator Does
ICT/SMC methodology involves tracking multiple analytical components simultaneously. This indicator consolidates them into a single system.
Common challenges when applying ICT manually:
1️⃣ Structure Identification
Determining which pivots qualify as external (macro) structure versus internal (micro) structure requires consistent rules. Inconsistent structure identification affects the detection of the relevant trading range for entries , Change of Character (ChoCH) , and Break of Structure (BoS) . Accurate structure identification is paramount ; a faulty reading invalidates the entire ICT thesis for the current swing. While no automated system can replace human judgment, the indicator provides you with a rules-based starting point for structural analysis. The key goal is to help you find and map the relevant structural leg to focus on.
2️⃣ Chart Organization
Drawing Fibonacci retracements, Fair Value Gaps, Order Blocks, and other imbalances manually creates visual complexity that can obscure the analysis. The indicator addresses this by striving to show all imbalances in a consistent, unified, and understandable visual way , using color coding and z-order layering to maintain clarity even when multiple components are active.
3️⃣ Imbalance Tracking
ICT methodology requires monitoring a vast array of institutional footprints : Fair Value Gaps (FVG), Order Blocks (OB), Breaker Blocks (BB), Liquidity Pools (LP), Volume Imbalances, Wick Imbalances, and Kill Zone ranges. Tracking all these simultaneously and manually monitoring their mitigation status is highly time-intensive and prone to oversight . The indicator constantly scans and tracks all key imbalance types for you, automatically updating their status and creating a dynamic, real-time visual heatmap of unmitigated institutional inefficiency.
4️⃣ Trade Calculation
Determining structure-based Stop Loss (SL) placement, calculating multiple Take Profit (TP) levels with accurate position-sizing splits, and computing the final blended Risk-to-Reward (R:R) ratio involves multiple time-sensitive, manual calculations per setup . The indicator automates this entire trade calculation process for you, instantly providing the necessary pricing (entry, SL, TP), sizing, and performance projections, and mitigating the risk of execution error .
5️⃣ Condition Monitoring
ICT setups often require specific technical conditions to align: price reaching discount Fibonacci levels (0.618-0.882 for shorts, 0.118-0.382 for longs), EMA crossovers confirming momentum, or structural shifts (ChoCH/BoS). Identifying these moments requires continuous chart observation across multiple assets and timeframes.
This indicator includes an alert system that monitors these technical conditions and sends notifications when they occur (real-time). The alert system is designed to minimize spam. This allows traders to review potential setups on demand rather than through continuous observation - particularly relevant for those monitoring multiple instruments or trading sessions outside their local timezone.
-----------------------------------------------------------------
Intended Use
This indicator is designed for traders who:
♦ Apply ICT/SMC methodology - Familiarity with concepts such as Fair Value Gaps, Order Blocks, Liquidity Pools, market structure, and discount/premium zones is assumed. The indicator does not teach these concepts but provides tools to apply them.
♦ Trade on intraday to swing timeframes - The structure detection and Fibonacci zone mapping work across multiple timeframes. Recommended primary timeframe: 1H (adjustable based on trading approach).
♦ Prefer systematic entry planning - The trade calculation feature computes stop loss, take profit levels, and risk-to-reward ratios based on structure and Fibonacci positioning. Suitable for traders who use defined entry criteria.
♦ Monitor multiple instruments or sessions - The alert functionality notifies when specific technical conditions occur (discount zone entries, EMA crossovers, structure changes), reducing the need for continuous manual monitoring.
♦ Use trade execution platforms - The trade summary table displays pre-formatted values (entry, SL, TP levels with quantity splits) that can be manually input into trading platforms or bot services like 3Commas.
-----------------------------------------------------------------
How To Use
Step 1: Structure Analysis
The indicator automatically detects external and internal market structure using pivot analysis. Structure lines are color-coded: red for bearish structure, green for bullish. External pivots are marked with larger triangles, internal pivots with smaller markers. The pivot length parameters (default: 20/20) can be adjusted in settings to align with your structural analysis approach and the asset you are analyzing.
Step 2: Define Your Trading Zone
Use the "Start Swing" and "End Swing" date inputs to mark the beginning and end of the (external) structural leg you wish to analyze. The indicator calculates Fibonacci retracement levels based on these points and color-codes the zones:
* Green zones: Discount area (0.618-0.882 for bearish / 0.118-0.382 for bullish)
* Yellow zones: Premium area (0.786-1.0 for bearish / 0.0-0.214 for bullish)
* Red zones: Extension area beyond structure (potential fake-out zones)
Step 3: Review Imbalances
The indicator identifies and displays multiple imbalance types:
🔥 Volume imbalances (from displacement candles based on PVSRA methodology)
🔥 Fair Value Gaps (FVG)
🔥 Order Blocks (OB) and Breaker Blocks (BB)
🔥 Liquidity Pools (LP) at equal highs/lows
🔥 Wick imbalances (exceptional wick formations)
🔥 Kill Zone liquidity from specific trading sessions (Asian, London, NY AM)
Volume Imbalances
Fair Value Gaps
Order Blocks
Liquidity Pools
Wick Imbalances
Kill Zone Imbalances
According to ICT methodology, imbalances act as price magnets - areas where price tends to return for mitigation. When multiple imbalances overlap at the same price level, this creates a confluence zone with a higher probability of price reaction .
Imbalances are displayed as gray boxes , creating a visual heatmap of institutional inefficiencies. When imbalances overlap, the zones appear darker due to layering, and labels combine to show confluence (e.g., "FVG + OB" or "Vol + LP").
Heatmap of Imbalances
User can view each type alone, or all together (heatmap)
Each imbalance type is tracked until mitigated by price according to ICT principles and can be toggled on/off independently in settings.
Step 4: Reference Levels & Sessions
The indicator displays additional reference data:
🔥 Daily Pivot Points (PP, R1-R3, S1-S3) calculated from previous day
🔥Average Daily Range (ADR) projected from the current day's extremes
🔥 Daily OHLC levels: Today's Open (DO), Previous Day High (PDH), Previous Day Low (PDL)
🔥Session backgrounds (optional): Color-coded boxes for Asian, London, NY AM, and NY PM sessions
Sessions
While these are not ICT-specific imbalances, they represent widely-watched price levels that often attract institutional activity and can act as additional reference points for support, resistance, and liquidity targeting.
All reference levels can be toggled independently in settings.
Step 5: Momentum Reference
EMA 14 and EMA 21 lines are displayed for momentum analysis. When EMA 14 enters discount zones and crosses EMA 21, a triangle marker appears on the chart. This indicates a potential alignment of structure and momentum conditions.
Step 6: Trade Planning
Input your intended entry price in the "Entry Price" field along with your margin and leverage parameters. The indicator automatically calculates all trade parameters:
* Stop loss level (based on Fibonacci structure - typically at 1.118 extension)
* Three take profit levels (TP1, TP2, TP3) with position quantity splits
* Risk-to-reward ratio (blended across all three targets)
* Projected profit/loss values in both dollars and percentage
All calculated values are displayed both visually on the chart (as horizontal lines with labels) and in a formatted Trade Summary table. The table organizes the information for quick reference: entry details, take profit levels with quantities, stop loss parameters, and performance projections.
This pre-calculated data can be manually copied into trading platforms or bot services (such as 3Commas Smart Trades) without requiring additional calculations.
Step 7: Alert Configuration
Create alerts using TradingView's alert system (select "Any alert() function call"). The indicator sends notifications when:
* Price reaches specific discount Fibonacci levels (0.618, 0.786, 0.882 for shorts / 0.382, 0.214, 0.118 for longs)
* EMA 14/21 crossovers occur within discount zones
* Change of Character (ChoCH) is detected
* Break of Structure (BoS) is detected
Note: Alerts require active TradingView alert functionality. Update alerts when changing your trading zone parameters.
-----------------------------------------------------------------
Key Features
Structure & Zone Analysis
* Automated structure detection with external/internal pivots and zig-zag visualization
* Fibonacci retracement mapping with color-coded discount/premium zones
* Visual zone classification: Green (optimal discount), Yellow (premium), Red (fake-out risk)
ICT Imbalances Heatmap
* Volume imbalances (PVSRA displacement candles)
* Fair Value Gaps (FVG)
* Order Blocks (OB) and Breaker Blocks (BB)
* Liquidity Pools (LP) at equal highs/lows
* Wick imbalances (exceptional wick formations)
* Kill Zone liquidity (Asian, London, NY AM sessions)
* Confluence detection with combined labels and visual layering
Reference Levels
* Daily Pivot Points (PP, R1-R3, S1-S3)
* Average Daily Range (ADR) projections
* Daily OHLC levels (DO, PDH, PDL)
* Session backgrounds for kill zones
Trade Planning Tools
* Automated stop loss calculation based on Fibonacci structure
* Three-tier take profit system with position quantity splits
* Risk-to-reward ratio calculation (blended across all targets)
* P&L projections in dollars and percentages
* Trade Summary table formatted for manual platform entry
Momentum & Signals
* EMA 14/21 overlay for momentum analysis
* Visual crossover markers (triangles) in discount zones
* Change of Character (ChoCH) detection and labels
* Break of Structure (BoS) detection and labels
Chart Enhancements
* Higher timeframe candle overlay (5m to Monthly)
* PVSRA candle coloring (volume-based)
* Symbol legend for quick reference
* Customizable visual elements (toggle all components independently)
Alert System
* Discount zone entry notifications (Fibonacci level monitoring)
* EMA crossover signals within discount zones
* Structure change alerts (ChoCH and BoS)
* Configurable via TradingView alert functionality
Alert Functionality
The indicator includes an alert system that monitors technical conditions continuously.
When configured, alerts notify users when specific events occur:
❗ Discount Zone Monitoring
When EMA 14 crosses into key Fibonacci levels (0.618, 0.786, 0.882 for bearish structure / 0.382, 0.214, 0.118 for bullish structure), an alert is triggered. Example: Trading BTC and ETH simultaneously - instead of monitoring both charts for zone entries, alerts notify when either asset reaches the specified level.
❗ Momentum Alignment
When EMA 14 crosses EMA 21 within discount zones, an alert is sent. Example: Monitoring setups across multiple timeframes (1H, 4H, Daily) - alerts indicate when momentum conditions align on any timeframe being tracked.
❗ Structure Changes
Change of Character (ChoCH) and Break of Structure (BoS) events trigger alerts. Example: Trading during the Asian session while located in a different timezone - alerts notify of structure changes occurring outside active monitoring hours.
Configuration
Alerts are set up through TradingView's native alert system. Select "Any alert() function call" when creating the alert.
⚠️ Note: Alert parameters are captured at creation time, so alerts must be updated when changing trading zone settings (Start/End Swing dates) or any other parameter.
How to Create Alerts
Step 1: Open Alert Creation
Click the "Alert" button (clock icon) in the top toolbar of TradingView, or right-click on the chart and select "Add Alert."
Step 2: Configure Alert Condition
* In the alert dialog, set the Condition dropdown to select this indicator
* Set the alert type to ⚠️ " Any alert() function call "
* This configuration allows the indicator to trigger alerts based on its internal logic
Step 3: Set Alert Timing
* Timeframe: Same as chart
* Expiration: Choose "Open-ended (when triggered)" to keep the alert active until conditions occur
* Message tab: choose a name for the alert
Step 4: Notification Settings
Configure how you want to receive notifications:
* Popup within TradingView
* Email notification
* Mobile app push notification (requires TradingView mobile app)
Step 5: Create
Important Notes:
* Alert parameters are captured at creation time . If you change your trading zone (Start/End Swing dates) or entry price, delete the old alert and create a new one .
* One alert per chart: Create separate alerts for each instrument and timeframe you're monitoring.
* TradingView alert limits apply based on your TradingView subscription tier.
What Triggers Alerts: This indicator sends alerts for four key event types:
1. Discount Zone Entry - EMA 14 crossing key Fibonacci levels
2. Momentum Crossover - EMA 14/21 crossovers within discount zones
3. Change of Character (ChoCH) - Structure reversal detected
4. Break of Structure (BoS) - Trend continuation confirmed
All four conditions are monitored by a single alert configuration .
-----------------------------------------------------------------
Recommended Settings
* Timeframe : 1H works well for most assets
* Theme : Dark mode recommended
* Structural Pivots : Default 20/20 captures reasonable structure; adjust to match your analysis
-----------------------------------------------------------------
Chart Elements Guide
♦ Structure Visualization
Zig-zag lines
Automated structure detection - green lines indicate bullish structure, red lines indicate bearish structure. Thick lines represent external structure , thin faded lines show internal structure .
Triangle markers
Large triangles mark external pivots (swing highs/lows), small triangles mark internal pivots.
Fibonacci Zones
* Green zones: Discount area - potential entry zones (0.618-0.882 for shorts / 0.118-0.382 for longs)
* Yellow zones: Premium area - higher extension zones (0.786-1.0 for shorts / 0.0-0.214 for longs)
* Red zones: Fake-out risk area - price beyond structural extremes (above 1.0 for shorts / below 0.0 for longs)
* White dashed lines: Individual Fibonacci levels (1.0, 0.882, 0.786, 0.618, 0.5, 0.382, 0.214, 0.118, 0.0)
♦ Imbalance Heatmap
Gray boxes with dotted midlines
Unmitigated imbalances create a visual heatmap. Overlapping imbalances appear darker due to layering.
Combined labels
When multiple imbalances overlap, labels show confluence (e.g., "FVG + OB", "Vol + LP + Wick")
Types displayed : Vol (Volume), FVG (Fair Value Gap), OB (Order Block), BB (Breaker Block), LP (Liquidity Pool), Wick, KZ (Kill Zone)
♦ Momentum Indicators
* Red line: EMA 14
* Yellow line: EMA 21
* Small triangles on price: Crossover signals - red triangle (bearish crossover), green triangle (bullish crossover) when occurring within discount zones
♦ Structure Change Markers
* Labels with checkmarks/crosses: ChoCH (Change of Character) and BoS (Break of Structure) events (Green label with ✓: Bullish ChoCH or BoS, Red label with ✗: Bearish ChoCH or BoS)
♦ Trade Planning Lines (when entry price is set)
* Blue horizontal line: Entry price
* Green dashed lines: TP1 and TP2
* Green solid line: TP3 (final target)
* Red horizontal line: Stop Loss level
TP levels and SL are calculated based on the structure range, entry price, and mapped trading zone, and aim to achieve a minimum risk: reward ratio of 1:1.5 (R:R)
♦ Colored background zones:
Green shading between entry and TP3 (profit zone), red shading between entry and SL (loss zone)
♦ Reference Levels
* Orange dotted lines with labels: Daily Pivot Points (PP, R1-R3, S1-S3)
* Purple dotted lines with labels: ADR High and ADR Low projections
* Cyan dotted lines with labels: DO (Daily Open), PDH (Previous Day High), PDL (Previous Day Low)
♦ Session Backgrounds (optional)
* Yellow shaded box: Asian session (19:00-00:00 NY time)
* Blue shaded box: London session (02:00-05:00 NY time)
* Green shaded box: NY AM session (09:30-11:00 NY time)
* Orange shaded box: NY PM session (13:30-16:00 NY time)
♦ Trade Summary Table (top-right corner)
Displays a complete trade plan with sections:
* Sanity Check: Plan validation status
* Setup: Trade type, leverage, entry price, position size
* Take Profit: TP1, TP2, TP3 with prices, percentages, and quantity splits
* Stop Loss: SL price and type
* Performance: Potential profit/loss, ROI, and risk-to-reward ratio
♦ HTF Candle Overlay (optional, displayed to the right of the current price)
* Larger candlesticks representing higher timeframe price action
* Green bodies: Bullish HTF candles
* Red bodies: Bearish HTF candles
* Label shows selected timeframe (e.g., "HTF→ D" for daily)
♦ Legend Table (bottom-right corner)
Quick reference guide explaining all symbol abbreviations and color codes used on the chart.
-----------------------------------------------------------------
Methodology & Calculation Details
This indicator consolidates multiple ICT/SMC analytical components into a single integrated system. While individual elements could be created separately, this integration provides automated coordination between components , consistency, and reduces chart complexity.
Structure Detection External and internal pivots
Are identified using fractal pivot analysis with configurable lookback periods (default: 20 bars for both). A pivot high is confirmed when the high at the pivot bar exceeds all highs within the lookback range on both sides. Pivot lows use inverse logic. Structure lines connect validated pivots, with color coding based on price direction (higher highs/higher lows = bullish, lower highs/lower lows = bearish).
Fibonacci Retracement Calculation
Users define two swing points via date/time inputs. The indicator calculates the price range between these points and applies standard Fibonacci ratios (0.0, 0.118, 0.214, 0.382, 0.5, 0.618, 0.786, 0.882, 1.0, plus extensions at 1.118, 1.272, -0.118, -0.272). Zone classification is based on ICT discount/premium principles: 0.618-1.0 range for bearish setups, 0.0-0.382 for bullish setups.
Imbalance Identification
Volume Imbalances : Detected using PVSRA (Price, Volume, Support, Resistance Analysis) methodology. Candles are classified based on the percentile ranking of volume and price range over a 1344-bar lookback period. Type 1 imbalances require ≥95th percentile in both volume and range; Type 2 requires ≥85th percentile. Additional filters include body-to-range ratio (≥50% for Type 1, ≥30% for Type 2) and ATR validation.
Fair Value Gaps (FVG) : Identified when a three-candle sequence shows a price gap: low > high for bullish FVG, high < low for bearish FVG. The middle candle must close beyond the gap edge. Mitigation occurs when the price retraces into the gap.
Order Blocks (OB) : Detected by identifying the last opposing candle before a significant price move. When price breaks a swing high/low, the algorithm scans backwards to find the candle with the highest high (bearish OB) or lowest low (bullish OB) before the breakout. When an OB is breached, it converts to a Breaker Block (BB).
Liquidity Pools (LP) : Identified by detecting equal highs or equal lows using a tolerance threshold based on ATR. Pivot highs/lows within this tolerance range are grouped. Equal highs create Buy-Side Liquidity (BSL) zones above the level; equal lows create Sell-Side Liquidity (SSL) zones below the level.
Wick Imbalances: Flagged when a candle's wick exceeds 1.0x ATR and comprises >50% of the total candle range. These represent rapid rejections or absorption events.
Kill Zone Liquidity: Tracks the high/low range during specific ICT-defined sessions (Asian: 19:00-00:00 NY, London: 02:00-05:00 NY, NY AM: 09:30-11:00 NY). At session close, BSL and SSL zones are created above/below the session range.
Change of Character (ChoCH) & Break of Structure (BoS)
ChoCH is detected when price breaks counter to the established structure (bearish structure broken upward = bullish ChoCH; bullish structure broken downward = bearish ChoCH). BoS occurs when price breaks in the direction of the established trend (bearish structure breaking lower = bearish BoS; bullish structure breaking higher = bullish BoS).
Trade Calculations
Stop Loss and Take Profit levels are calculated based on the entry position within the Fibonacci zone structure:
* Premium entries (0.786-1.0 for shorts / 0.0-0.214 for longs): SL at 1.118/-0.118 extension, TP structure weighted toward zone extremes
* Golden entries (0.618-0.786 for shorts / 0.214-0.382 for longs): SL at 1.0/0.0 boundary, TP structure balanced across range
Risk-to-reward ratios are calculated as blended values across all three take profit levels, weighted by position quantity splits.
Reference Level Calculations
* Pivot Points: Standard formula using previous day's high, low, and close: PP = (H + L + C) / 3
* Support/Resistance: R1 = 2×PP - L, S1 = 2×PP - H, with R2/S2 and R3/S3 calculated using range extensions
* ADR: 14-period simple moving average of daily high-low range, projected from current day's extremes
Momentum Analysis
EMA 14 and EMA 21 use standard exponential moving average calculations. Crossovers are detected when EMA 14 crosses EMA 21 within user-defined discount zones, with directional confirmation (cross under in bearish discount = short signal; cross over in bullish discount = long signal).
Why This Integration Matters
While components like EMA crossovers, pivot detection, or Fibonacci retracements exist as separate indicators, this system provides:
1. Coordinated Analysis : All components reference the same structural framework (user-defined trading zone)
2. Automated Mitigation Tracking : Imbalances are monitored continuously and removed when mitigated according to ICT principles
3. Contextual Alerts : Notifications are triggered only when conditions align within the defined structural context
4. Trade Parameter Automation : Stop loss and take profit calculations adjust dynamically based on entry positioning within the structure
5. Consistent Visual Display : All elements use a unified color scheme, labeling system, and z-order layering. This eliminates visual conflicts that occur when stacking multiple independent indicators (overlapping lines, label collisions, inconsistent transparency levels, conflicting color schemes).
This consolidation reduces the need to manually coordinate 8-10 separate indicators, eliminates redundant calculations across disconnected tools, and maintains visual clarity even when all components are displayed simultaneously.
-----------------------------------------------------------------
Disclaimer
1. Indicator Functionality and Purpose
This indicator is solely a technical analysis tool built upon established methodologies (Smart Money Concepts/ICT) and statistical calculations (Pivots, Fibonacci, EMAs). It is designed to assist experienced traders in visualizing complex data, streamlining the analytical workflow, and automating conditional alerting.
The indicator is NOT:
♦ Financial Advice: It does not provide personalized investment recommendations, solicited advice, or instruction on buying, selling, or holding any financial instrument.
♦ A Guarantee of Profit: The presence of a signal, alert, or trade plan output by this tool does not guarantee that any trade will be profitable.
♦ A Predictor of Future Prices: The tool calculates probabilities and potential scenarios based on historical data and current structure; it does not predict future market movements.
2. General Trading Risks and Capital Loss
♦ All trading involves substantial risk of loss. You may lose some or all of your initial capital. Leveraged products, such as futures, CFDs, and margin trading, carry a high degree of risk and are not suitable for all investors.
♦ Risk Acknowledgment: By using this indicator, you acknowledge and accept that you are solely responsible for all trading decisions, and you bear the full risk of any resulting profit or loss.
♦ Risk Management is Crucial: This indicator is an analytical tool only. You must employ independent risk management techniques (position sizing, stop-loss orders) tailored to your personal financial situation and risk tolerance.
3. Calculation Limitations and Non-Real-Time Data
The calculations performed by this indicator are based on the data provided by your charting platform (e.g., TradingView).
♦ Data Accuracy: The accuracy of the outputs (e.g., Price Delivery Arrays, Pivots, P&L projections) is dependent on the accuracy and real-time nature of the underlying market data feed.
♦ Latencies: Trade alerts and signals may be subject to minor delays due to server processing, internet connectivity, or charting platform performance. Do not rely solely on alerts for execution.
♦ Backtesting and Performance: Any depiction of past performance, including data visible on the chart, is not indicative of future results. Trading results will vary based on market conditions, liquidity, and execution speed.
4. Software and Platform Disclaimer
"As Is" Basis: The indicator is provided on an "as is" basis without warranties of any kind, whether express or implied. The author does not guarantee the script will be error-free or operate without interruption.
Third-Party Integration: This indicator is not affiliated with, endorsed by, or connected to TradingView, 3Commas, or any other broker or execution platform. All third-party names are trademarks of their respective owners. The formatting of the Trade Summary Table for 3Commas is for user convenience only.
5. Required Competency (User Responsibility)
This indicator is built on the assumption that the user is an experienced trader with a working understanding of the complex concepts being visualized (ICT/SMC, FVG, Order Blocks, Liquidity, etc.). The indicator does not teach these concepts.
You Must Always Do Your Own Research (DYOR) before making any trading decision based on signals or visualization provided by this tool.
By installing and using this indicator, you explicitly agree to these terms and assume full responsibility for all trading activity.
Price levelsPRICE LEVELS INDICATOR - DESCRIPTION
This TradingView indicator displays critical institutional price levels that professional traders use for intraday decision-making. The indicator automatically plots horizontal lines at key support and resistance levels derived from previous and current trading sessions, along with two simple moving averages for trend context.
KEY FEATURES
Daily Levels:
Prior Day High/Low: Yesterday's trading range extremes
Pre-Market High/Low: The highest and lowest prices reached during pre-market hours (4:00 AM - 9:30 AM EST)
Current Day High/Low/Open: Today's intraday extremes and opening price
After-Hours High/Low: Post-market session price extremes (4:00 PM - 8:00 PM EST)
First Bar High/Low: The high and low of the first regular trading session bar
Weekly Levels:
Prior Week High/Low/Close: Last week's price extremes and closing price
Current Week High/Low/Open: This week's ongoing price range and opening level
Moving Averages:
SMA 20 (default): Short-term trend indicator
SMA 200 (default): Long-term trend indicator
HOW TO USE THIS INDICATOR
Installation:
Copy the entire Pine Script code
In TradingView, open the Pine Editor (bottom panel)
Paste the code and click "Add to Chart"
The indicator will overlay directly on your price chart
Configuration:
All settings are accessible through the indicator settings menu (gear icon). You can customize:
Which price levels to display (toggle each level on/off)
Line colors, thickness, and styles (solid, dashed, dotted)
Label display and positioning
Price axis visibility for each level
Label text content and colors
Best Practices for Trading:
Market Structure:
Price above Week Open = bullish bias
Price below Week Open = bearish bias
Use Prior Week Close as major support/resistance
Entry Timing:
Look for bounces off Prior Day High/Low
Pre-Market High/Low often act as breakout triggers
Institutional traders watch these levels closely
Risk Management:
Place stops below/above relevant price levels
Prior Day Low often serves as stop-loss for longs
Prior Day High often serves as stop-loss for shorts
Confluence Trading:
Strongest setups occur when multiple levels align
Example: Price bounces at both Prior Day Low AND Week Open
Combine with moving averages for additional confirmation
Breakout Trading:
Pre-Market High break = potential bullish momentum
Pre-Market Low break = potential bearish momentum
Prior Week High break = strong bullish signal
Prior Week Low break = strong bearish signal
RECOMMENDED SETTINGS
For Day Trading:
Enable: Prior Day High/Low, PM High/Low, Week Open, Prior Week Close
Timeframe: 5-minute or 15-minute charts
Display: "Most recent level on most recent day"
For Swing Trading:
Enable: Prior Week High/Low, Current Week High/Low, Week Open
Timeframe: 1-hour or 4-hour charts
Display: "Most recent level across the chart"
For Scalping:
Enable: PM High/Low, Current Day High/Low
Timeframe: 1-minute or 3-minute charts
Disable weekly levels to reduce clutter
ALERT SETUP
The indicator includes built-in alerts for:
Price crossing above Pre-Market High
Price crossing below Pre-Market Low
Price closing above Pre-Market High
Price closing below Pre-Market Low
To enable alerts:
Right-click on the indicator name
Select "Add Alert"
Choose the desired alert condition
Set alert frequency and notification method
UNDERSTANDING LABEL COLORS
Each price level has a distinct color scheme by default:
Green tones: High levels (resistance)
Red/Pink tones: Low levels (support)
Yellow/Orange: Opening prices
Cyan/Blue: Weekly levels
All colors are fully customizable in the settings to match your chart theme.
TECHNICAL NOTES
The indicator only displays on intraday timeframes (seconds, minutes, hours)
It does not work on daily, weekly, or monthly charts
Lines automatically extend to the current bar
Labels update in real-time as prices move
Pre-market and after-hours levels require extended trading session data enabled in your chart settings
COMMON USE CASES
Gap Trading: Use Pre-Market High/Low to identify gap fill targets
Range Trading: Trade bounces between Prior Day High and Low
Breakout Trading: Enter when price decisively breaks key levels
Trend Following: Combine price levels with SMA 20 and 200 for trend confirmation
Support/Resistance: Use levels as dynamic support/resistance zones
This indicator is designed to give traders immediate visual reference to the price levels that institutional traders and market makers are watching, helping you make informed trading decisions based on areas where significant buying or selling pressure is likely to occur.
QT Previous Micro Cycle Range + SSMT [bilal]Previous Micro Cycle Range + SMTs - Indicator Description
📊 Overview
This indicator tracks 22.5-minute micro cycles within ICT's Quarterly Theory framework and automatically detects Smart Money Technique (SMT) divergences across correlated indices (NQ, ES, YM). It visualizes previous cycle ranges and identifies high-probability manipulation completions for precise intraday entries.
🎯 What It Does
Micro Cycle Tracking:
Divides each 90-minute session into four 22.5-minute micro quarters
Plots the previous micro cycle's High, Low, Equilibrium (EQ), and Quarter levels
Updates automatically as new micro cycles form
Works on any timeframe (recommended: 1-5 minute charts)
SMT Detection:
Compares current micro cycle vs previous micro cycle across NQ, ES, and YM
Detects Bearish SMT: Divergence at highs (signals distribution down)
Detects Bullish SMT: Divergence at lows (signals distribution up)
Draws visual SMT lines with directional arrows showing correlation/divergence
Optional SMT table showing all three indices' movements
💡 How To Use It
For Scalpers & Day Traders:
Wait for a new micro cycle to begin (lines will refresh every 22.5 minutes)
Watch for SMT formation in the current cycle
Bullish SMT = Buy signal (previous low is confirmed, expect move to previous high)
Bearish SMT = Sell signal (previous high is confirmed, expect move to previous low)
Key Concepts:
Minimum Target: Opposite extreme of previous cycle
SMT Confirmation: One or two indices sweep a level while the other(s) fail to sweep
Best Results: Trade with higher timeframe bias aligned
⚙️ Features
Customizable Display:
Toggle High/Low lines with multiple label styles (Timeframe, Label, %, Fib)
Optional Equilibrium (50%) level
Optional Quarter levels (25% / 75%)
Optional extended range projections (±50% to ±400%)
Adjustable line colors, widths, and label sizes
SMT Options:
Enable/disable SMT detection
Show/hide SMT text labels
Custom colors for bullish/bearish SMTs
Option to delete previous cycle SMTs (keeps chart clean)
Real-time SMT table showing all three indices
Comparison Assets:
Default: ES1! and YM1! (customize to your preference)
Set correlation type for each asset (correlated vs inverse)
Disable individual assets if needed
🔍 Understanding The Visuals
Lines:
Solid lines = Previous cycle High/Low (where price came from)
Dotted lines = EQ and Quarter levels (internal cycle structure)
Green lines = SMT divergence detected (buy/sell signal)
Labels:
▲ = Asset made higher high/low vs previous cycle
▼ = Asset made lower high/low vs previous cycle
🔺 = Inverse correlation (up when others down)
🔻 = Inverse correlation (down when others up)
SMT Logic:
If indices diverge (move opposite directions), SMT is confirmed
Bearish SMT = Highs diverge → Sell
Bullish SMT = Lows diverge → Buy
📈 Best Practices
Use on 1-5 minute charts for optimal micro cycle visualization
Combine with higher timeframe bias (Daily Cycle SSMT, session bias, etc.)
Wait for SMT confirmation before entering trades
Target previous cycle's opposite extreme as minimum profit target
Exit when opposing SMT forms or price reaches target
🛠️ Settings Guide
Essential Settings:
Comparison Symbols: Set to the indices you trade (default: ES1!, YM1!)
Show Cycle SMT: Toggle SMT detection on/off
Delete Previous Cycles SMTs: Keep chart clean by removing old SMTs
Visual Preferences:
Line Color/Width: Customize previous cycle lines
Label Style: Choose between Timeframe (22.5m), Label (descriptive), % (percentage), or Fib (0-1)
Show High/Low: Toggle previous cycle extremes
Show EQ/Quarters/Extended Ranges: Add more reference levels as needed
⚠️ Important Notes
This indicator shows previous cycle ranges, not predictive future levels
SMTs are confirmation signals for manipulation completion
Always use proper risk management and combine with your trading plan
Best results when aligned with higher timeframe directional bias
🎓 Based On ICT Concepts
This indicator implements concepts from Inner Circle Trader (ICT):
Quarterly Theory (fractal time structure)
Micro cycles (22.5-minute quarters)
Sequential SMT (mechanical divergence confirmation)
Smart Money accumulation, manipulation, distribution (AMD)
Perfect for: Scalpers, day traders, and anyone using ICT's Quarterly Theory and SMT concepts for precise intraday entries.
Note: This is a study indicator (overlay=true). It does not generate buy/sell signals automatically - you must interpret SMT formations based on your trading strategy.RéessayerGu should know it only works on the 30s chart btwPrevious Micro Cycle Range + SMTs - Indicator Description
📊 Overview
This indicator tracks 22.5-minute micro cycles within ICT's Quarterly Theory framework and automatically detects Smart Money Technique (SMT) divergences across correlated indices (NQ, ES, YM). It visualizes previous cycle ranges and identifies high-probability manipulation completions for precise intraday entries.
⚠️ IMPORTANT: This indicator is designed to work on the 30-second chart only. The micro cycle calculations are optimized for 30s timeframe data.
🎯 What It Does
Micro Cycle Tracking:
Divides each 90-minute session into four 22.5-minute micro quarters
Plots the previous micro cycle's High, Low, Equilibrium (EQ), and Quarter levels
Updates automatically as new micro cycles form every 22.5 minutes
Precise timing based on New York timezone session structure
SMT Detection:
Compares current micro cycle vs previous micro cycle across NQ, ES, and YM
Detects Bearish SMT: Divergence at highs (signals distribution down)
Detects Bullish SMT: Divergence at lows (signals distribution up)
Draws visual SMT lines with directional arrows showing correlation/divergence
Optional SMT table showing all three indices' movements in real-time
💡 How To Use It
Setup:
Switch to 30-second chart (required for accurate cycle timing)
Add indicator to your chart
Ensure you're viewing NQ, ES, or YM (or correlated futures)
For Scalpers & Day Traders:
Wait for a new micro cycle to begin (lines will refresh every 22.5 minutes)
Watch for SMT formation in the current cycle
Bullish SMT = Buy signal (previous low is confirmed, expect move to previous high)
Bearish SMT = Sell signal (previous high is confirmed, expect move to previous low)
Key Concepts:
Minimum Target: Opposite extreme of previous cycle
SMT Confirmation: One or two indices sweep a level while the other(s) fail to sweep
Best Results: Trade with higher timeframe bias aligned (Daily Cycle SSMT, session bias)
⚙️ Features
Customizable Display:
Toggle High/Low lines with multiple label styles (Timeframe, Label, %, Fib)
Optional Equilibrium (50%) level
Optional Quarter levels (25% / 75%)
Optional extended range projections (±50% to ±400%)
Adjustable line colors, widths, and label sizes
Line extension length (default: 15 bars ahead)
SMT Options:
Enable/disable SMT detection
Show/hide SMT text labels with ticker symbols and directional arrows
Custom colors for bullish/bearish SMT lines
Option to delete previous cycle SMTs (keeps chart clean)
Real-time SMT table showing all three indices' current status
Comparison Assets:
Default: ES1! and YM1! (customize to your preference)
Set correlation type for each asset (correlated vs inverse)
Disable individual assets if needed
Works with any correlated futures contracts
Debug Mode:
Toggle debug info to see current NY time, session, and micro cycle timing
Helpful for understanding cycle structure and troubleshooting
🔍 Understanding The Visuals
Lines:
Solid lines = Previous cycle High/Low (where price came from)
Dotted lines = EQ and Quarter levels (internal cycle structure)
Green lines (default) = SMT divergence detected (buy/sell signal)
Gray dotted lines = Extended range projections (if enabled)
Labels:
▲ = Asset made higher high/low vs previous cycle (correlated)
▼ = Asset made lower high/low vs previous cycle (correlated)
🔺 = Inverse correlation (up when others down)
🔻 = Inverse correlation (down when others up)
SMT Logic:
If indices diverge (move opposite directions), SMT is confirmed
Bearish SMT = Highs diverge → High is set, expect distribution down
Bullish SMT = Lows diverge → Low is set, expect distribution up
📈 Best Practices
Must use 30-second chart - indicator timing is calibrated for this timeframe
Combine with higher timeframe bias (Daily Cycle SSMT, 90-min SSMT, session bias)
Wait for SMT confirmation before entering trades (don't front-run)
Target previous cycle's opposite extreme as minimum profit target
Exit when opposing SMT forms or price reaches target
Best windows: Q2→Q3 or Q3→Q4 transitions within 90-minute sessions
Volatility injection times: Watch 09:30, 10:00, and 14:00 ET for strongest moves
🛠️ Settings Guide
Essential Settings:
Comparison Symbols: Set to the indices you monitor (default: ES1!, YM1!)
Correlation Type: Toggle "Correlated" on/off for each asset based on expected relationship
Show Cycle SMT: Enable/disable SMT detection
Show SMT Text: Toggle labels showing ticker divergence details
Delete Previous Cycles SMTs: Keep chart clean by removing old SMTs
Visual Preferences:
Line Color/Width: Customize previous cycle lines (default: black, width 1)
Label Style: Choose between:
Timeframe (shows "22.5m")
Label (descriptive: "previous micro cycle high/low")
% (shows "100%/0%")
Fib (shows "1/0")
Show High/Low: Toggle previous cycle extremes (recommended: ON)
Show EQ/Quarters/Extended Ranges: Add more reference levels as needed
SMT Customization:
SMT Colors: Customize bearish/bullish SMT line colors (default: green for both)
SMT Label Colors: Background and text color for SMT labels
SMT Table: Toggle real-time comparison table (bottom right)
⚠️ Important Notes
30-second chart required - will not work accurately on other timeframes
This indicator shows previous cycle ranges, not predictive future levels
SMTs are confirmation signals for manipulation completion, not entry triggers alone
Always use proper risk management and position sizing
Best results when aligned with higher timeframe directional bias
Monitor all three indices (NQ, ES, YM) for complete SMT picture
Micro cycles are part of a fractal structure - align with 90-min and Daily Cycle SMTs
🎓 Based On ICT Concepts
This indicator implements concepts from Inner Circle Trader (ICT):
Quarterly Theory (fractal time structure - 22.5 min micro quarters)
Micro cycles (four quarters within each 90-minute session)
Sequential SMT (mechanical divergence confirmation across correlated indices)
Smart Money AMD (Accumulation, Manipulation, Distribution pattern)
New York session timing (based on ICT's 6-hour daily cycles)
🕐 Micro Cycle Structure
Each 90-minute session divides into four 22.5-minute micro quarters:
Micro Q1: 00:00 - 22:30
Micro Q2: 22:30 - 45:00
Micro Q3: 45:00 - 67:30
Micro Q4: 67:30 - 90:00
This pattern repeats across all 16 daily 90-minute sessions (Q1.1 through Q4.4).
Perfect for: Scalpers and day traders using ICT's Quarterly Theory and SMT concepts for precise micro-level entries on 30-second charts.
Chart Requirement: 30-second timeframe only.
Note: This is a study indicator. It does not generate automatic buy/sell signals - you must interpret SMT formations based on your trading strategy and higher timeframe bias.
XAUMO Gap RetraceXAUMO Gap Retrace
Educational description for TradingView (English)
📘 EDUCATIONAL ONLY — NOT FINANCIAL ADVICE
This script is for study, training and back-testing ideas. It does NOT give guaranteed
buy/sell signals and must NOT be used to promote any “risk-free” or “fixed return” schemes.
────────────────────────────────
1) What does XAUMO Gap Retrace do?
────────────────────────────────
This indicator tracks a very specific price behaviour:
» After a bar closes (and is NOT a tweezer with the previous bar),
it “arms” a target at the previous bar’s High or Low.
» It then watches to see if the market retraces to that level
on the next bar (or later, depending on your setting).
» When price touches that previous High/Low, it marks the fill,
updates a live label with distance and progress, and can fire an alert.
In simple terms:
“Every candle that closes away from the previous candle
gets a ‘magnet’ at the previous High or Low.
XAUMO Gap Retrace tells you if the very next candle comes back
to fill that gap to the previous bar.”
────────────────────────────────
2) Core logic step-by-step
────────────────────────────────
(1) Tweezer detection
• It calculates:
– prevH = previous bar’s High
– prevL = previous bar’s Low
– tol = toleranceTicks × syminfo.mintick
• If the current bar’s High or Low is within “tol” of the previous High or Low,
it is treated as a tweezer:
isTweezer = highs or lows almost equal to previous bar.
• Tweezer bars are ignored (no new target armed) to avoid noise.
(2) Target selection (Midline vs Nearest)
When a bar closes (barstate.isconfirmed) and it’s not a tweezer:
• Mode = "Midline"
– prevMid = (prevH + prevL) / 2
– If close >= prevMid → target = prevH (previous High)
– Else → target = prevL (previous Low)
• Mode = "Nearest"
– target = whichever is nearer to the close:
• prevH or prevL
The chosen level is stored in:
• lastTarget = the price level we are waiting to be filled
• lastSigIndex = bar_index of the signal candle
• needUp = true if close < target (price must go up to fill)
false if close > target (price must go down)
• baseDist = |close - target| at the signal bar
(used later to compute “progress”).
(3) Active state and fill detection
• isArmed = lastTarget is not na (we have a live target).
• isNextBar = bar_index == lastSigIndex + 1.
• isActive =
– if nextBarOnly = true → only the immediate next bar is allowed
– if nextBarOnly = false → any bar after the signal is active.
Price-touch rule:
• If needUp = true → fill when high >= lastTarget.
• If needUp = false → fill when low <= lastTarget.
This gives:
• fillNow = true on the bar where the previous High/Low is touched.
(4) Target line and fill marker
• plot() draws a line at lastTarget (with linebreak style) while armed.
• plotshape() draws a tiny circle at the touch price when fillNow is true,
labelled “fill”.
(5) Live distance / progress label
A single live label (liveLbl) shows live stats on the last bar:
• dist = |close - lastTarget|
• distTicks = dist / tick
• progress = how far the market has moved towards the target since the signal:
– 0% = no progress
– 100% = fully filled
(internally clamped between 0 and 1 with a custom clamp function).
If showLabel is ON, on the last bar:
• Old label is deleted,
• New label is created at (bar_index + liveLabelShift, close),
so it appears shifted to the right by N bars.
• Text includes:
– Target price
– Distance in price and ticks
– Progress %
– Direction text “↑ need up” or “↓ need down”.
(6) Alerts
• alertcondition(fillNow, ...) triggers when the previous High/Low
is touched according to the rules above.
• You can connect this to TradingView alerts to be notified when
the gap retrace happens.
(7) Auto-reset (when nextBarOnly = true)
• After the “next bar” closes, if the target is still armed,
the script clears:
– lastTarget
– baseDist
so that a new signal can be armed on future bars.
────────────────────────────────
3) Inputs summary
────────────────────────────────
• Tweezer tolerance (ticks)
– How close highs or lows can be to be considered a tweezer (skip signal).
• Target selection
– "Midline": choose High or Low based on whether close is above/below midpoint.
– "Nearest": choose whichever of prev High/Low is closer to the close.
• Only allow fill on the following bar
– If true: only the very next bar can fill the target.
– If false: any later bar can fill it.
• Show target line
– Draw/Hide the H/L target line.
• Show signal/fill markers
– Draw/Hide the small circle marker on fill.
• Show live distance label
– Turn the floating label ON/OFF.
• Live label → shift right (bars)
– Horizontal shift in bars for the live label (default 3 bars to the right).
────────────────────────────────
4) How to use it (educational view)
────────────────────────────────
XAUMO Gap Retrace is a study tool for:
• Testing how often a candle “comes back” to revisit the previous bar’s High/Low.
• Studying behaviour of retracements after a non-tweezer move.
• Combining gap-retrace logic with your own system:
– support/resistance
– VWAP / FVRP
– volume / delta
It is NOT meant to be traded blindly. It’s a microscope for one specific
price pattern: “does the next bar retrace to the previous bar’s H/L?”
────────────────────────────────
5) Risk & scam awareness
────────────────────────────────
• No script can guarantee profit or remove risk.
• Past retrace behaviour does not guarantee future behaviour.
• Never send money or account credentials to anyone claiming they can
use this indicator to give “fixed income” or “guaranteed returns”.
• Always test ideas, manage your own risk, and trade only money you
can afford to lose.
================================================
XAUMO Gap Retrace
وصف تعليمي بالعربي لمكتبة TradingView
📘 الاسكريبت تعليمي فقط — مش توصية شراء أو بيع
الهدف إنك تذاكر سلوك السعر وتعمل باك-تست، مش إنك تاخد منه أرباح مضمونة.
ممنوع استخدامه في أي دعاية نصب أو وعود كاذبة.
────────────────────────────────
١) الاسكريبت ده بيعمل إيه؟
────────────────────────────────
XAUMO Gap Retrace بيراقب سلوك معيّن:
• بعد ما الشمعة تقفل (وبتكون مش تويزر مع الشمعة اللي قبلها)
الاسكريبت “يسلّح” Target عند هاي أو لو الشمعة السابقة.
• بعد كده يبص: هل الشمعة اللي بعدها (أو اللي بعدهم لو حابب)
رجعت لمست الهاي/اللو بتوع الشمعة اللي فاتت ولا لأ؟
• لو اتلمس الهاي/اللو:
– بيحط علامة “fill”
– يحدّث ليبل حيّ بمسافة السعر والتقدّم
– ممكن يضرب Alert لو أنت فعّلتها.
يعني بالعربي:
“كل شمعة تقفل بعيد شوية عن اللي قبلها، بنحطلها مغناطيس
عند هاي أو لو الشمعة اللي قبلها، وبنشوف هل الشمعة الجاية
هترجع تلمسه ولا لأ.”
────────────────────────────────
٢) المنطق الداخلي خطوة بخطوة
────────────────────────────────
(أ) كشف الـ Tweezer
• بيحسب:
– prevH = هاي الشمعة اللي قبل
– prevL = لو الشمعة اللي قبل
– tol = toleranceTicks × حجم التكة
• لو الهاي أو اللو الحالي قريب من الهاي/اللو اللي قبل
بمقدار tol → تعتبر Tweezer:
isTweezer = true
• في الحالة دي بنعدّي ومابنسلّحش Target عشان نتفادى النويز.
(ب) اختيار الهدف (Midline أو Nearest)
لو الشمعة اتأكدت (barstate.isconfirmed) ومش تويزر:
• لو Mode = "Midline":
– prevMid = (prevH + prevL) / 2
– لو close ≥ prevMid → الهدف = prevH (هاي السابق)
– غير كده → الهدف = prevL (لو السابق)
• لو Mode = "Nearest":
– الهدف = الأقرب للـ close بين prevH و prevL.
وبعدين يخزن:
• lastTarget = مستوى السعر اللي مستنّين اللمسة عنده.
• lastSigIndex = bar_index للشمعة اللي سلّحت الإشارة.
• needUp = true لو التارجت فوق الكلوز (السعر محتاج يطلع).
false لو التارجت تحت الكلوز (السعر محتاج ينزل).
• baseDist = المسافة الأصلية |close - target| عند شمعة الإشارة.
(ج) حالة التسلّح والFill
• isArmed = في Target شغّال؟
• isNextBar = إحنا في الشمعة اللي بعد الإشارة مباشرة؟
• isActive =
– لو nextBarOnly = true → بس الشمعة اللي بعد الإشارة مسموح تملأ.
– لو false → أي شمعة بعد الإشارة مسموح.
شرط اللمس:
• لو needUp = true → fill لما high ≥ lastTarget.
• لو needUp = false → fill لما low ≤ lastTarget.
ده بيطلع:
• fillNow = true على الشمعة اللي لمست فيها الهاي/اللو بتاع الشمعة السابقة.
(د) خط الهدف وعلامة الـ Fill
• plot() يرسم خط عند lastTarget طول ما الإشارة متسلّحة.
• plotshape() يرسم دايرة صغيرة مكتوب عليها “fill” وقت ما الشرط يتحقق.
(هـ) ليبل المسافة والتقدّم (لايف)
ليبل واحد حيّ liveLbl يوضح إيه اللي بيحصل حاليًا:
• dist = |close - lastTarget|
• distTicks = dist ÷ حجم التكة
• progress = التقدم من ٠٪ لحد ١٠٠٪ من المسافة الأصلية:
– ٠٪ = لسه ما اتحركناش ناحية الهدف
– ١٠٠٪ = تم ملء الهدف
(محسوبة بـ clamp عشان نفضل بين ٠ و١).
لو showLabel شغّال وعلى آخر شمعة:
• يمسح الليبل القديم (لو موجود)
• يرسم ليبل جديد عند:
bar_index + liveLabelShift, close
يعني مزحزح الليبل كذا شمعة قدام على الشارت.
• النص بيعرض:
– Target
– Dist + Dist in ticks
– Progress٪
– سهم واتجاه: "↑ need up" أو "↓ need down".
(و) التنبيهات (Alerts)
• alertcondition(fillNow, ...) بتضرب لما الهدف (هاي/لو الشمعة السابقة)
يتلمس حسب القاعدة.
• تقدر توصلها بألارم على TradingView عشان يجيلك نوتيفيكيشن أول ما
يحصل Retrace.
(ز) إعادة ضبط أوتوماتيكي (لما nextBarOnly = true)
• بعد قفل الشمعة اللي بعد الإشارة، لو لسه فيه Target متسلّح:
– lastTarget = na
– baseDist = na
عشان يبقى جاهز يسلّح إشارة جديدة بعد كده.
────────────────────────────────
٣) أهم الإعدادات (Inputs)
────────────────────────────────
• Tweezer tolerance (ticks)
– مساحة التسامح في الهاي/اللو عشان نعتبرها تويزر ونسيبها.
• Target selection
– "Midline": يختار الهاي أو اللو حسب مكان الكلوز من منتصف الشمعة.
– "Nearest": يختار الأقرب للكلوز.
• Only allow fill on the following bar
– لو true: بس الشمعة اللي بعدها اللي تقول “اتملّى ولا لأ”.
– لو false: أي شمعة بعد كده ممكن تملّي الهدف.
• Show target line
– إظهار/إخفاء خط الهدف.
• Show signal/fill markers
– إظهار/إخفاء دائرة الـ fill.
• Show live distance label
– تشغيل/إيقاف الليبل اللايف.
• Live label → shift right (bars)
– تزحزح الليبل كام شمعة قدام (افتراضي ٣).
────────────────────────────────
٤) الاستخدام التعليمي
────────────────────────────────
مفيد لو عايز:
• تدرس: كام مرة الشمعة اللي بعد كده بترجع تلمس هاي/لو الشمعة اللي قبلها؟
• تشوف سلوك Retrace بعد حركة مش تويزر.
• تضيف المنطق ده لاستراتيجيتك:
– زونز، VWAP، FVRP، فوليوم، دلتا… إلخ.
مش معمول إنك تشتري/تبيع لوحده بمجرد ظهور إشارة.
────────────────────────────────
٥) مخاطر واحتيال
────────────────────────────────
• مفيش سكريبت بيشيل عنك المخاطرة.
• اللي حصل في الماضي مش ضمان للي جاي.
• إوعى حد يقول لك “ب XAUMO Gap Retrace هديك ربح ثابت”.
• ادير ريسكك بنفسك، جرّب الأول على ديمو، واتاجر بس بفلوس
تقدر تتحمل خسارتها.
================================================================
XAUMO Gap Retrace — Business Case (English)
Scenario: Post-selloff balance inside Implosion Box
📘 EDUCATIONAL ONLY — NOT FINANCIAL ADVICE
For TradingView idea / script description. Not a signal, not a promise of profit.
────────────────────────────────
1) What do we see on the chart?
────────────────────────────────
• Symbol: XAUUSD (gold CFD)
• TF: intraday (15m in the screenshot)
• XAUMO Implosion Box is active:
– Box High ≈ 4084.6
– Box Low ≈ 4065.5
Price is moving sideways inside this purple “implosion” range
after a strong Mega Bear waterfall.
• XAUMO Gap Retrace has armed a target at:
– Prev H/L Target ≈ 4077.12
– Live label says:
Target: 4077.12
Dist: 0.84 (64 ticks)
Progress: 71%
↓ need down
This means:
• The last “signal bar” closed ABOVE the chosen previous High/Low.
• The script selected 4077.12 as the magnet (previous H or L).
• Current price is still ABOVE that level, so we “need down”
for a full retrace.
• 71% of the original distance has already been eaten — most of
the gap has been retraced, a small part remains.
────────────────────────────────
2) What is the business case here?
────────────────────────────────
Context:
• We had aggressive selling (multiple Mega Bear tags) pushing price
from the upper green zone into the Implosion box.
• After the dump, price is no longer trending: it is compressing
between Box High and Box Low (implosion phase).
• Inside this box, XAUMO Gap Retrace is tracking small dislocations
between a bar’s close and the previous bar’s High/Low.
Current business case:
• The system is telling us:
“The last impulse away from the previous bar left a void at 4077.12.
The market has already retraced ~71% of that distance, but a
small downward move is still needed to fully ‘close the loop’.”
Educational interpretation:
• As long as price stays inside the Implosion Box, these small
retraces behave like micro mean-reversion trades: the market likes
to test old highs/lows inside the range before deciding whether to
break out (Explosion) or fully revert to the opposite side.
So the business case is:
> We are in a post-liquidation balance (Implosion box).
> XAUMO Gap Retrace shows an unfinished downside retrace to 4077.12.
> This supports a short-term mean-reversion idea INSIDE the box,
> not a blind breakout chase.
You still need:
• Your own trigger (price action / volume / order flow).
• Your own risk plan (SL, size, invalidation if Box High/Low breaks).
────────────────────────────────
3) Risk & scam awareness
────────────────────────────────
• XAUMO Gap Retrace does NOT guarantee that 4077.12 will be filled.
• Implosion boxes sometimes break violently without completing every
tiny retrace.
• Never sell this idea as “guaranteed fill” or “risk-free setup”.
• Always test, size properly, and trade only what you can afford to lose.
SHOW ME THE MONEY ya XAUMO…
but with discipline, risk limits, and zero tolerance for scams.
=========================================================
XAUMO Gap Retrace — الحالة دي بتقول إيه؟ (عربي)
📘 تنبيه مهم:
الشرح ده تعليمي بس، مش توصية شراء أو بيع، ومش وعد بأي ربح.
ممنوع استخدامه في دعاية نصب أو “أرباح مضمونة”.
────────────────────────────────
١) إيه اللي باين على الشارت؟
────────────────────────────────
• الأداة: XAUUSD
• الفريم: إنترادي (١٥ دقايق في الصورة)
• صندوق XAUMO Implosion شغّال:
– Box High حوالي 4084.6
– Box Low حوالي 4065.5
السعر بيتحرّك رايح جاي جوّه البوكس البنفسجي بعد نازلة
جامدة (Mega Bear) من المنطقة الخضرا فوق.
• XAUMO Gap Retrace مسلّح هدف عند:
– Prev H/L Target ≈ 4077.12
– الليبل كاتب:
Target: 4077.12
Dist: 0.84 (64 ticks)
Progress: 71%
↓ need down
يعني:
• شمعة الإشارة قفلت فوق الهاي/اللو اللي الاسكريبت اختاره.
• التارجت 4077.12 هو هاي أو لو الشمعة اللي قبلها.
• السعر دلوقتي لسه فوق التارجت، فـ “محتاج ينزل” عشان يكمّل الـ Retrace.
• ٧١٪ من المسافة الأصلية اتحركت بالفعل، فاضل جزء صغير من الجاب.
────────────────────────────────
٢) الـ Business Case هنا إيه؟
────────────────────────────────
الخلفية:
• كان فيه بيع عنيف من فوق (Mega Bear) نزّل السعر لحد جوّه
صندوق الـ Implosion.
• بعد النزلة، السوق دخل في حالة توازن/كومبريشن بين Box High و Box Low.
• جوّه البوكس، XAUMO Gap Retrace بيتابع كل مرة الشمعة تقفل
بعيد عن هاي/لو الشمعة اللي قبلها وبيشوف: هل الشمعة الجاية
هترجع تلمس المستوى ده ولا لأ.
في اللحظة دي:
• السيستم بيقول لك:
“فيه حركة طالعة فوق سببت فجوة صغيرة لحد 4077.12.
أغلب المسافة اتردّت (حوالي ٧١٪)، لسه ناقص نزلة بسيطة
عشان نقفل الدورة على الآخر.”
القراءة التعليمية:
• طول ما السعر جوّه صندوق الـ Implosion، الحركات دي غالبًا
Mean-Reversion جوّه الرينج: السوق يحب يختبر الهاي/اللوهات
القديمة جوّه البوكس قبل ما يقرر:
– يكسر لفوق (Explosion Up)
– أو يكمل نزلة لتحت.
فالـ Business Case:
> إحنا في توازن بعد نزلة قوية (Implosion Box).
> XAUMO Gap Retrace بيقول لسه فيه Retrace ناقص لتحت لحد 4077.12.
> الفكرة أقرب لتريدات رينج/Mean-Reversion جوّه البوكس،
> مش مطاردة بريك أوت عشوائي.
بس لسه محتاج:
• تأكيد دخول من طريقتك (برايس أكشن / فوليوم / فلو).
• خطة ريسك واضحة (ستوب، حجم عقد، إلغاء الفكرة لو Box High/Low اتكسر).
────────────────────────────────
٣) مخاطر واحتيال
────────────────────────────────
• مفيش ضمان إن السعر لازم يلمس 4077.12.
• ساعات صندوق الـ Implosion بيتكسّر بعنف من غير ما كل Retrace
صغير يكتمل.
• إوعى حد يقول لك “كل هدف Gap Retrace بيتملّي ١٠٠٪” — ده نصب.
• دايمًا جرّب، اتحكّم في حجمك، واتاجر بس بفلوس تقدر تستحمل خسارتها.
SHOW ME THE MONEY يا XAUMO…
بس بالعقل، وبريسـك مانجمنت، ومن غير ولا وعد كدب.
DeltaFlow Matrix═════════════════─────────
DELTAFLOW MATRIX - COMPLETE GUIDE
For 1-Minute Scalping
═════════════════─────────
───────────────────────────────────────
📊 VISUAL ELEMENTS EXPLAINED (What You See on the Chart)
───────────────────────────────────────
🟦🟥 RED/GREEN BARS ON THE RIGHT = Delta Flow Direction
The horizontal bars extending right from your chart show WHO controlled the price at each level. Green = bulls won, Red = bears won. Longer bars = more volume traded at that price. Example: If BTC is at $100,000 and you see a massive green bar, that means buyers aggressively absorbed all sell orders at that exact price level.
📊 GRADIENT BACKGROUND (Heat Map) = Volume Intensity
The colored background behind the bars shows volume concentration. Darker/more opaque = heavy trading, lighter/transparent = light trading. Example: A dark background at $99,800 means that's where most traders are positioned - it's a "magnet price" where BTC keeps returning.
🟩 GREEN BOX WITH BORDER = POC (Point of Control)
This is THE most important price on your chart - where the absolute highest volume traded. This is where the majority of traders are stuck. Example: POC at $99,950 means most BTC holders bought/sold there. Price will be magnetically pulled back to test this level repeatedly.
⬜ WHITE DOTTED LINES = VA High and VA Low (Value Area)
These lines contain 70% of all trading volume. Think of them as "fair price boundaries." Example: VA High at $100,200, VA Low at $99,700 means BTC's "fair value range" is $99,700-$100,200. Breakouts above/below these lines are significant moves.
💜 MAGENTA BORDER ON BARS = MICRO-SR (Micro Support/Resistance)
These magenta-outlined bars mark high-frequency support/resistance zones where price repeatedly bounced. These are your scalping zones. Example: MICRO-SR at $99,975 means BTC touched this price multiple times in the last 100 bars - it's a critical battle line for 1-minute scalpers.
🟡 GOLD TEXT "BULL EXHAUST" / "BEAR EXHAUST" = Exhaustion Zones
When one side dominated the volume BUT the trend is dying. This is where the big money got tired. Example: "BULL EXHAUST" at $100,100 means buyers pushed hard but are running out of steam - expect a reversal or consolidation soon.
🔵 CYAN TEXT "FLOW SHIFT ↑" / "FLOW SHIFT ↓" = Institutional Reversal
This is the holy grail - when delta completely flipped from bearish to bullish (or vice versa) with increasing volume. This marks where institutions changed their position. Example: "FLOW SHIFT ↑" at $99,900 means selling pressure just turned into aggressive buying - the big players reversed direction.
🟠 ORANGE TEXT "FAILED SHIFT ↑" / "FAILED SHIFT ↓" = Failed Institutional Reversal
When a FLOW SHIFT appears but then gets rejected by the opposite side within 3-10 bars. This means institutions TRIED to reverse but couldn't - the other side is defending hard. Example: "FAILED SHIFT ↑" at $99,900 means bulls attempted to take control but bears defended and stopped the reversal - this is a bearish sign, price likely continues down.
🟢 GREEN "COILED" LABEL BELOW PRICE = Bullish Compression Setup
When price is compressed below VA Low with 5+ MICRO-SR resistance levels stacked overhead AND bullish momentum is building. This is a spring-loaded long setup - price is coiled under resistance ready to explode upward. Example: BTC at $99,700, VA Low at $100,000, 7 MICRO-SR levels stacked from $100,100-$100,400, and delta shows +45 with bullish flow → "COILED" appears. This means price is compressed like a spring with bullish pressure building - when it breaks, it will rip through all those overhead levels fast.
🔴 RED "COILED" LABEL ABOVE PRICE = Bearish Compression Setup
When price is extended above VA High with 5+ MICRO-SR support levels stacked below AND bearish momentum is building. This is a spring-loaded short setup - price is coiled above support ready to crash downward. Example: BTC at $100,500, VA High at $100,200, 6 MICRO-SR levels stacked from $100,000-$99,700, and delta shows -52 with bearish flow → "COILED" appears. This means price is compressed with bearish pressure building - when it breaks down, it will slice through all those support levels.
🔴🟢 "REJECT" LABEL = Failed Breakout / Rejection
When price enters a cluster zone (resistance or support) but shows opposite momentum - the breakout attempt failed. Example: Price pushed up into overhead resistance at $100,200 but delta turns bearish (-38) → "REJECT" appears in red above price. This means the breakout attempt was rejected, bulls who entered are trapped, expect reversal down.
⚠️ "WALL ↑" / "WALL ↓" = Resistance/Support Wall Alert
When 5+ MICRO-SR levels are stacked together creating a "wall" of resistance or support. These are significant barriers where price will likely stall or reverse. Example: "WALL ↑ 7x" means there are 7 MICRO-SR resistance levels stacked above current price - breaking through this will be very difficult without strong momentum and volume.
🔴🟢 "BULL ATTACK" / "BEAR ATTACK" = Aggressive Momentum
One side is attacking with both high delta AND increasing volume. This is active warfare. Example: "BEAR ATTACK" at $100,050 means sellers are aggressively dumping with rising volume - price is likely to drop fast.
🛡️ "BULL DEFENSE" / "BEAR DEFENSE" = Holding the Line
One side has high delta but volume is flat or decreasing - they're defending a level, not pushing. Example: "BULL DEFENSE" at $99,850 means buyers are absorbing sells to prevent BTC from dropping further, but they're not strong enough to push up yet.
⚖️ "EQUILIBRIUM" / "ROTATION" = Balanced Market
Bulls and bears are equally matched - perfect for range trading, terrible for breakout trades. Example: "EQUILIBRIUM" at $100,000 means the market is perfectly balanced here - trade the range, don't chase breakouts.
📈📉 "UP" / "DN" ARROWS = Volume Trend
Small green "UP" or red "DN" labels show if volume is increasing or decreasing at that price level over time. Example: "UP" at $99,900 means more traders are entering positions at this price compared to earlier - this level is becoming more important.
⇈⇊ DOUBLE ARROWS = Delta Momentum Acceleration
These show when delta is accelerating rapidly - not just strong, but GETTING STRONGER. Example: ⇈ at $100,050 means bullish delta isn't just high, it's accelerating - expect explosive upward movement.
🟢🔴 VELOCITY BANDS (Horizontal bars far right) = Volume Acceleration
Thin horizontal bars extending from the profile show how fast volume is building. Green = volume accelerating up, Red = volume accelerating down. Example: Green velocity band at $100,100 means volume is spiking at this level right now - action is heating up.
💜 "x3.8" LABEL ABOVE CANDLE = Volume Spike Signal
Magenta text showing volume multiplier. Example: "x3.2" above a BTC candle means this candle had 3.2 times the average volume - something big just happened (news, liquidation cascade, whale entry).
🟢🔴 THICK LINE AT VA HIGH/LOW = Breakout with Momentum
When BTC breaks the VA line, the line changes:
- Thin line (width 2) = Weak breakout (<30Δ momentum)
- Medium line (width 3) = Medium breakout (30-60Δ)
- Thick dashed line (width 4) = STRONG breakout (>60Δ) - THIS IS THE FLASH
The label also changes: "VA High 72Δ V✓ STRONG" = 72 delta momentum, volume confirmed, strong breakout.
🔵 CYAN DASHED LINE AT POC = POC Bounce Flash
A short cyan dashed line appears when BTC bounces off the POC with a bullish reversal candle. This is your highest-probability long entry - the POC "magnet" just pulled price back and bulls are responding.
───────────────────────────────────────────────
🧠 PATTERN COMBINATIONS = Market Psychology (What Traders Are Thinking)
───────────────────────────────────────────────
🚀 PATTERN 1: "The Nitro Boost" (Highest Win Rate)
WHAT YOU SEE: FLOW SHIFT ↑ appears below current price + only MICRO-SR (magenta) levels above + Volume Spike (x2.5+)
PSYCHOLOGY: Big money just reversed from selling to buying. Retail still thinks it's going down. All the nearby resistance levels are weak (just micro-levels). The explosion in volume means someone BIG just entered.
EXAMPLE: BTC at $99,900, FLOW SHIFT ↑ just appeared, above you see MICRO-SR at $100,000, $100,050, $100,100 with no major resistance. Volume spike shows x3.1. → Institutions flipped bullish and the path of least resistance is UP. These MICRO-SR levels will be blown through like paper.
TRADE: Long immediately, targets at each MICRO-SR level, stop below the FLOW SHIFT price.
💎 PATTERN 2: "The Wall" (Reversal Setup)
WHAT YOU SEE: BULL/BEAR EXHAUST at a price level + Price approaching POC from above/below + Delta momentum arrows (⇊) pointing opposite to price movement
PSYCHOLOGY: One side pushed too hard and ran out of gas right as they're approaching the most important price level (POC). Delta momentum is reversing. The "wall" of volume at POC will reject them.
EXAMPLE: BTC pushed from $99,800 to $100,200, now "BULL EXHAUST" appears at $100,200. POC is at $100,000. You see ⇊ (bearish delta acceleration). → Bulls exhausted themselves pushing up, POC will act as resistance, bears are accelerating. Price will get rejected back down.
TRADE: Short at current price, target is POC at $100,000, stop above the exhaust level.
⚔️ PATTERN 3: "The War Zone" (Stay Out)
WHAT YOU SEE: BULL ATTACK and BEAR ATTACK labels alternating rapidly + EQUILIBRIUM or ROTATION at current price + VA lines very close together
PSYCHOLOGY: Bulls and bears are in full battle mode, neither side is winning. The market is chopping violently in a tight range. This is where retail gets destroyed by whipsaw.
EXAMPLE: BTC bouncing between $99,900-$100,100. "BULL ATTACK" at $100,000, "BEAR ATTACK" at $100,050, "EQUILIBRIUM" at $100,025. VA High at $100,100, VA Low at $99,900. → Pure chaos. Both sides throwing punches, nobody winning.
TRADE: STAY OUT. Wait for exhaustion or flow shift. If you must trade, use very tight ranges (buy at VA Low, sell at VA High, 5-tick stops).
🎯 PATTERN 4: "The Breakout Confirmation" (High Confidence)
WHAT YOU SEE: VA breakout with STRONG label + Volume spike (x2.0+) + FLOW SHIFT in breakout direction + No major resistance for 50+ ticks
PSYCHOLOGY: Every signal is aligned. Price broke the fair value range WITH strong momentum, WITH volume confirmation, WITH institutional flow reversal. This is the "perfect storm" breakout.
EXAMPLE: BTC breaks VA High at $100,200. Label changes to "VA High 68Δ V✓ STRONG" (thick dashed line). Volume spike shows x2.8. FLOW SHIFT ↑ appears at $100,210. Next resistance is MICRO-SR at $100,400. → This is as good as it gets. Institutions are buying, retail FOMO is coming, momentum is strong.
TRADE: Long on the breakout, targets at +100 ticks ($100,300), +200 ticks ($100,400), trail stop below the breakout candle.
🛡️ PATTERN 5: "The Failed Breakout" (Fade Setup)
WHAT YOU SEE: VA breakout with WEAK label + No volume spike + DEFENSE label appears (opposite side) + Delta momentum arrows pointing back into VA
PSYCHOLOGY: Price tried to break out but without conviction. No volume = no big players interested. The defending side is holding the line. Breakout traders are about to get trapped.
EXAMPLE: BTC breaks VA High at $100,200. Label shows "VA High 23Δ WEAK" (thin line). No volume spike. "BEAR DEFENSE" appears at $100,220. You see ⇊ (bearish acceleration). → Weak breakout, bears defending, momentum reversing. Bull breakout traders are trapped.
TRADE: Short the failed breakout, target is back inside VA (POC at $100,000), stop above the high.
🧲 PATTERN 6: "The POC Magnet" (Mean Reversion)
WHAT YOU SEE: Price far from POC (100+ ticks away) + Volume decreasing (DN arrows) + No ATTACK or FLOW SHIFT labels + MICRO-SR levels between current price and POC
PSYCHOLOGY: Price overextended from the most important level. No new aggressive volume is coming in. Market is tired. Like a rubber band, price will snap back to POC where most traders are positioned.
EXAMPLE: BTC at $100,350, POC at $100,000 (350 ticks away). "DN" arrows showing volume declining. "ROTATION" at current price. MICRO-SR at $100,300, $100,200, $100,100. → Overextended, running out of steam, POC will pull it back.
TRADE: Short with targets at each MICRO-SR level on the way down to POC, final target at POC itself.
💥 PATTERN 7: "The Liquidation Cascade" (Momentum Continuation)
WHAT YOU SEE: Multiple consecutive candles with volume spikes (x2.5+) + ATTACK label same direction + Delta momentum arrows same direction (⇈ or ⇊) + Breaking through MICRO-SR levels without stopping
PSYCHOLOGY: Liquidations are triggering more liquidations. Stop losses are getting hit, triggering more stop losses. This is a cascade - it won't stop until hitting POC or VA boundary. Retail is getting destroyed, institutions are feasting.
EXAMPLE: BTC drops from $100,200. Candles show x2.7, x3.1, x2.9 volume spikes. "BEAR ATTACK" at every level. ⇊ arrows accelerating. MICRO-SR levels at $100,100, $100,000, $99,900 all getting destroyed. POC at $99,750. → Liquidation cascade in progress. Won't stop until POC.
TRADE: If you're in the direction, hold until POC. If not in, wait for POC to enter counter-trend. DO NOT try to catch this knife early.
🔄 PATTERN 8: "The Reversal Confirmation" (Highest Probability Entry)
WHAT YOU SEE: POC Bounce Flash (cyan dashed line) + FLOW SHIFT in new direction + Volume spike + Price bouncing off POC with bullish/bearish engulfing candle
PSYCHOLOGY: Price hit the most important level (POC) and institutions just reversed direction. This is THE signal. The magnet worked, price came back to POC, and big money is now pushing it the other way.
EXAMPLE: BTC drops to POC at $100,000. Cyan dashed POC bounce flash appears. Bullish engulfing candle. "FLOW SHIFT ↑" appears. Volume spike x2.6. → Perfect reversal setup at the most important price level with institutional confirmation.
TRADE: Long at POC, target next MICRO-SR or VA High, stop below POC. This is your highest win-rate setup.
🎪 PATTERN 9: "The Fake-Out Trap" (Avoid or Fade)
WHAT YOU SEE: FLOW SHIFT appears + No volume spike + EXHAUST label appears within 3-5 candles same direction + Delta momentum arrows reverse
PSYCHOLOGY: Someone tried to fake a reversal (maybe a whale painting the tape) but there's no real follow-through. The move exhausted immediately. Traders who followed the FLOW SHIFT are about to get trapped.
EXAMPLE: "FLOW SHIFT ↑" appears at $99,950. No volume spike. Within 3 candles, "BULL EXHAUST" appears at $100,000. ⇊ arrows appear. → False reversal, trap set, traders entering longs are getting baited.
TRADE: Fade it. Short when exhaust appears, target back below the fake FLOW SHIFT level.
🏆 PATTERN 10: "The Perfect Storm Long" (All Systems Go)
WHAT YOU SEE: Price above POC + FLOW SHIFT ↑ + VA Low breakout with STRONG + Volume spike + Only MICRO-SR resistance above + BULL ATTACK label + ⇈ acceleration
PSYCHOLOGY: Everything aligned bullish. Institutions buying, momentum strong, volume confirming, path clear. This is when retail FOMO kicks in and you get the biggest moves.
EXAMPLE: BTC at $100,100. POC at $100,000 (above POC ✓). "FLOW SHIFT ↑" at $100,050 ✓. "VA Low 71Δ V✓ STRONG" breakout ✓. Volume x3.4 ✓. MICRO-SR at $100,300, $100,500 (weak resistance) ✓. "BULL ATTACK" ✓. ⇈ arrows ✓. → Every single bullish signal firing. This is the setup you wait for all day.
TRADE: Long with size, targets at +200 ticks minimum, trail aggressively, stop only if FLOW SHIFT reverses.
🎯 PATTERN 11: "The Coiled Spring" (High Probability Breakout)
WHAT YOU SEE: "COILED" label appears + 5-8 MICRO-SR levels stacked in breakout direction + Delta +30 or higher (for long) / -30 or lower (for short) + Price compressed below VA Low (long) or above VA High (short)
PSYCHOLOGY: Price is compressed in a weak position with heavy resistance/support overhead, BUT institutions are building momentum in the direction of the breakout. When it breaks, all those clustered MICRO-SR levels will be blown through rapidly because the spring is loaded. This is the setup where you get 100-200 tick moves in minutes.
EXAMPLE: BTC at $99,650. VA Low at $100,000. "COILED" (green) appears below price. WALL ↑ 8x showing 8 MICRO-SR levels from $100,100-$100,800. Delta shows +47. FLOW SHIFT ↑ just appeared. → Price is coiled below massive resistance wall with strong bullish momentum building. When VA Low breaks, the spring releases and price will rip through all 8 resistance levels.
TRADE: Long when price breaks VA Low with volume confirmation, targets at each MICRO-SR cluster (+100, +200, +300 ticks), trail stop below breakout candle. This is your "moonshot" setup.
🛑 PATTERN 12: "The Failed Shift Trap" (Fade Setup)
WHAT YOU SEE: "FAILED SHIFT ↑" or "FAILED SHIFT ↓" appears + Strong opposite momentum (⇊ for failed bull shift, ⇈ for failed bear shift) + No volume spike + Price back in original range
PSYCHOLOGY: Institutions attempted a reversal but the other side defended hard and rejected it. Traders who followed the FLOW SHIFT are now trapped. The failed reversal confirms the original trend will continue - the defending side is in control.
EXAMPLE: BTC pushed from $100,200 to $99,900. "FLOW SHIFT ↓" appeared at $100,100 signaling bearish reversal. Within 5 bars, bulls defended at $99,850, pushing price back to $100,000. "FAILED SHIFT ↓" now appears at $100,100 with ⇈ (bullish acceleration). → Bears tried to reverse trend but failed. Bulls defended successfully. Original uptrend continues.
TRADE: Fade the failed shift. If "FAILED SHIFT ↓" appears, go long (bulls won the battle). If "FAILED SHIFT ↑" appears, go short (bears won). Target is back to the other side of the range.
⚠️ PATTERN 13: "The Wall Collision" (High Risk, High Reward)
WHAT YOU SEE: "WALL ↑" or "WALL ↓" with 6+ levels + Price approaching wall with strong momentum (ATTACK label) + Volume spike + Delta accelerating (⇈ or ⇊)
PSYCHOLOGY: Unstoppable force meeting immovable object. Price is charging at a massive wall of resistance/support with strong momentum. Either it breaks through explosively OR it gets rejected violently. This is binary - huge win or huge loss.
EXAMPLE: BTC at $100,050 with "BULL ATTACK" and ⇈ arrows. Volume x3.2. Approaching "WALL ↑ 9x" at $100,200-$100,600. POC at $100,300 (inside the wall). → Bulls charging at massive resistance wall with strong momentum. If they break through, it's explosive. If rejected, crash back down.
TRADE: ADVANCED ONLY. Wait for the collision. If price breaks through wall with FLOW SHIFT confirmation + volume spike, go long immediately with tight stop. If price gets REJECTED (bearish delta appears at wall), short immediately targeting POC. DO NOT enter before knowing the outcome.
🔄 PATTERN 14: "The Rejection Reversal" (Counter-Trend Entry)
WHAT YOU SEE: "REJECT" label appears + Price in cluster zone + Opposite side DEFENSE or ATTACK label appears + Delta momentum reverses (⇈ to ⇊ or vice versa)
PSYCHOLOGY: The breakout failed, trapped traders are exiting, and the opposite side is now attacking the weak hands. This creates fast moves back in the original direction.
EXAMPLE: BTC breaks VA High to $100,250. Weak volume, delta only +22. Enters overhead MICRO-SR cluster. "REJECT" appears in red. "BEAR DEFENSE" appears at $100,280. ⇊ arrows appear. → Breakout failed, bulls trapped, bears attacking. Price will reverse fast.
TRADE: Counter-trend entry in direction of REJECT. Short when "REJECT" appears with bearish confirmation, target is back to POC or VA Low. Stop above the rejection high. Fast scalp.
───────────────────────────────────────────────────────────────────────────────
⚡ QUICK REFERENCE CHEAT SHEET
───────────────────────────────────────────────────────────────────────────────
SAFEST ENTRIES (Highest Win Rate):
✅ POC Bounce Flash + FLOW SHIFT (Pattern 8)
✅ FLOW SHIFT + Only MICRO-SR above + Volume Spike (Pattern 1)
✅ Strong VA Breakout + Volume Spike + FLOW SHIFT (Pattern 4)
✅ COILED label + Multiple stacked MICRO-SR + Delta >30 (Pattern 11)
DANGER ZONES (Stay Out):
⛔ BULL ATTACK + BEAR ATTACK alternating (Pattern 3)
⛔ FLOW SHIFT + No volume + Quick exhaust (Pattern 9)
⛔ EQUILIBRIUM at current price with tight VA range
⛔ WALL collision without clear direction (Pattern 13 - wait for outcome)
FADE/REVERSAL SETUPS:
🔄 EXHAUST at price level + Approaching POC (Pattern 2)
🔄 Weak VA Breakout + DEFENSE opposite side (Pattern 5)
🔄 Price far from POC + Volume declining (Pattern 6)
🔄 FAILED SHIFT appears + Opposite momentum (Pattern 12)
🔄 REJECT label + Opposite ATTACK/DEFENSE (Pattern 14)
HOLD/MOMENTUM CONTINUATION:
🚀 Multiple volume spikes + ATTACK label + ⇈/⇊ arrows (Pattern 7)
🚀 All bullish/bearish signals aligned (Pattern 10)
🚀 COILED spring release through wall (Pattern 11)
═══════════════════════════════════════════════════════════
Remember: The indicator shows you WHERE the big money is (POC), WHAT they're doing (FLOW SHIFT), and HOW HARD they're doing it (volume spikes, momentum). Your job is to follow the big money, not fight them. When institutions shift, you shift. When they exhaust, you fade. When they're in a war, you stay out. Trade with the whales, not against them.
════════════════════════════════════════════════════════════
═══════════════════════════════════════════════════════════════════════════════
ENHANCED DELTA VOLUME PROFILE - TECHNICAL CALCULATIONS GUIDE
How Each Element is Actually Calculated
═══════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────
🧮 CORE CALCULATIONS (The Math Behind What You See)
───────────────────────────────────────────────────────────────────────────────
📊 VOLUME BINS = Price range divided into 40 horizontal slices
The indicator takes the last 100 candles (configurable), finds the highest and lowest price touched, then divides that range into 40 equal "bins" (horizontal price levels). Each bin collects volume from candles that touched that price range. Example: BTC ranged from $99,500 to $100,500 in the last 100 bars. That's $1,000 range ÷ 40 bins = $25 per bin. Bin 1 = $99,500-$99,525, Bin 2 = $99,525-$99,550, etc.
🟦🟥 DELTA CALCULATION = (Bull Volume - Bear Volume) / Total Volume × 100
For each bin, the indicator separates bullish candles (close > open) from bearish candles (close < open). Delta = ((bull volume - bear volume) / total volume) × 100. This gives you a percentage from -100% (pure selling) to +100% (pure buying). Example: At $100,000, if 70 BTC was traded on green candles and 30 BTC on red candles, delta = ((70-30)/100) × 100 = 40% bullish.
🎨 GRADIENT COLOR = Delta converted to color spectrum
The delta percentage (-100 to +100) is mapped to a color gradient. -100% = pure bearish color (orange/red), 0% = neutral, +100% = pure bullish color (cyan/blue). The color you see on each bar directly represents the delta. Example: A bright cyan bar = high positive delta (strong buying), orange bar = high negative delta (strong selling), gray bar = balanced (delta near 0%).
🟩 POC (Point of Control) = Bin with the absolute highest total volume
The indicator sums up all volume in each of the 40 bins, then finds which bin has the most. That's your POC. Example: Bin 15 (around $100,000) collected 1,250 BTC of volume, which is more than any other bin. Bin 15 is your POC. This is where the most trading happened and where most traders are positioned.
⬜ VALUE AREA (VA) = The bins containing 70% of total volume, centered on POC
Starting from the POC, the indicator expands up and down, adding bins one at a time (choosing the bin with more volume each time) until it has captured 70% of all volume. The top of this range = VA High, bottom = VA Low. Example: POC at $100,000. Expanding out captures 70% of volume from $99,700 to $100,300. VA Low = $99,700, VA High = $100,300.
📈📉 VOLUME TREND = (Recent Volume - Old Volume) / Total Volume
The indicator splits your 100-bar lookback into three periods: Recent (last 15 bars), Mid (bars 15-30), and Older (last 15 bars of the 100). For each bin, it compares recent volume to older volume. If recent > older, trend is UP. If recent < older, trend is DOWN. Example: At $100,000, recent 15 bars had 80 BTC volume, older 15 bars had 40 BTC. Trend = (80-40)/(80+40) = 0.33 = UP. This shows volume is increasing at this level.
💜 MICRO-SR DETECTION = High volume (>60% of max) + High hits (>20% of max) + Active volume trend
A bin becomes MICRO-SR if: (1) Its volume is at least 60% of the highest-volume bin, (2) Price touched it frequently (at least 20% as many times as the most-touched bin), (3) Volume trend isn't flat (absolute trend > 0.05). Example: Bin at $99,975 has 750 BTC (75% of max), was hit 45 times (30% of max hits), volume trend = 0.08. = MICRO-SR (magenta border).
🟡 EXHAUSTION DETECTION = Extreme delta (>65%) + Declining volume trend (<-0.15) OR Extreme delta + Volume spike (>1.5× average)
Two ways to detect exhaustion: (1) One side dominated (delta > 65% or < -65%) BUT volume is decreasing (trend < -0.15), meaning participation is dropping. (2) Extreme delta WITH a huge volume spike (>1.5× average for that bin), meaning climactic volume. Example: At $100,200, delta = 72% bullish, but volume trend = -0.22 (declining). = BULL EXHAUST. Bulls won but are running out of steam.
🔵 FLOW SHIFT DETECTION = Delta changed sign (+ to - or - to +) + Delta change >40% + Volume trend increasing (>0.1)
Compares each bin's delta to the previous bin's delta. If delta flipped from negative to positive (or vice versa) by more than 40%, AND volume is increasing, = FLOW SHIFT. Example: Previous bin at $99,950 had -35% delta (bearish). Current bin at $100,000 has +45% delta (bullish). Change = 80% (flipped + exceeded 40%), volume trend = +0.15. = FLOW SHIFT ↑.
⇈⇊ DELTA MOMENTUM = Current delta - Average delta of last 3 bins
For each bin, the indicator looks at the previous 3 bins, calculates their average delta, then compares current delta to that average. If current delta is significantly higher/lower than the 3-bin average, momentum arrows appear. Example: Last 3 bins had deltas of 20%, 25%, 30% (average = 25%). Current bin delta = 55%. Momentum = 55 - 25 = +30 = ⇈ (strong bullish acceleration).
🟢🔴 VOLUME ACCELERATION = Rate of change of volume trend across three periods
Compares how volume changed from Old→Mid vs Mid→Recent. If Recent increased MORE than Mid did compared to Old, = positive acceleration. Formula: ((Recent-Mid) - (Mid-Old)) / |Mid-Old|. Example: Old=100, Mid=120, Recent=160. Mid increased by 20, Recent increased by 40. Acceleration = (40-20)/20 = 1.0 = strong acceleration (green velocity band).
⚖️ BALANCE SCORE = Combines volume balance, price range balance, and hit frequency
Three factors weighted equally: (1) How balanced is bull vs bear volume? (1 - |bull-bear|/total). (2) How tight is the price range? (1 - avgRange/maxRange). (3) How frequently was it hit? (hits/maxHits). Multiply these together. Score >0.7 = EQUILIBRIUM. Example: Volume is 55% bull / 45% bear = 0.9 balance. Range is tight = 0.8. Hit frequently = 0.85. Score = 0.9 × 0.8 × 0.85 = 0.61 = ROTATION.
📊 BULL/BEAR ATTACK/DEFENSE = Delta threshold (>60% or <-60%) + Volume trend direction
ATTACK = High delta (>60% either direction) + Volume trend increasing (>0.15). DEFENSE = High delta (>60% either direction) + Volume trend NOT increasing (≤0.15). Example: Delta = 68% bullish, volume trend = 0.22 = BULL ATTACK (buying with increasing volume). Delta = 68% bullish, volume trend = 0.05 = BULL DEFENSE (buying but volume not increasing).
───────────────────────────────────────────────────────────────────────────────
🎯 SIGNAL CALCULATIONS (The New Features)
───────────────────────────────────────────────────────────────────────────────
💜 VOLUME SPIKE = Current bar volume / 20-bar average volume
Takes the current candle's volume and divides it by the simple moving average of the last 20 candles' volume. If ratio >2.0 (configurable), spike detected. The label shows the exact multiplier. Example: Current candle = 450 BTC volume. 20-bar average = 140 BTC. Ratio = 450/140 = 3.21 = "x3.2" label appears in magenta above the candle.
🟢🔴 VA BREAKOUT MOMENTUM = POC bin's delta (absolute value)
When price breaks VA High or VA Low, the indicator looks at the POC bin's delta to measure momentum strength. Uses absolute value (ignore direction). <30 = WEAK, 30-60 = MED, >60 = STRONG. Line thickness and style change based on this. Example: BTC breaks VA High. POC bin delta = 72%. Momentum = 72 = STRONG. Line = width 4 (thick), dashed (flash effect), label shows "VA High 72Δ V✓ STRONG".
📊 BREAKOUT LINE THICKNESS = Momentum-based dynamic sizing
- Momentum <30: Line width = 2 (thin), solid line
- Momentum 30-60: Line width = 3 (medium), solid line
- Momentum >60: Line width = 4 (thick), dashed line (creates flash effect)
Example: Breakout with 45% momentum = width 3 solid line. Breakout with 75% momentum = width 4 dashed line (flashing).
✓ VOLUME CONFIRMATION = Current volume / 20-bar average >1.5
Checks if the breakout candle has strong volume. If current volume is at least 1.5× the 20-bar average, adds "V✓" to the label. Example: Breakout candle has 280 BTC volume, 20-bar average is 160 BTC. Ratio = 280/160 = 1.75 > 1.5 = "V✓" appears in label.
🔵 POC BOUNCE DETECTION = Price within 0.5 bin-step of POC + Bullish reversal candle + Previous candle was bearish
Three conditions must all be true: (1) Current close price is within half a bin's height from POC price. (2) Current candle is bullish (close > open). (3) Previous candle was bearish (close < open). If all true = POC bounce, cyan dashed flash line appears. Example: POC at $100,000, bin step = $25. Current close = $100,008 (within $12.50 of POC ✓). Current candle green ✓. Previous candle red ✓. = POC Bounce Flash.
───────────────────────────────────────────────────────────────────────────────
⚙️ TECHNICAL PARAMETERS (What You Can Adjust)
───────────────────────────────────────────────────────────────────────────────
🔢 LOOKBACK PERIOD (Default: 100 bars) = How much history to analyze
The number of candles backwards from current that get analyzed. More bars = more stable but slower to react. Fewer bars = more reactive but noisier. For 1-minute BTC scalping, 100 bars = last 100 minutes = 1 hour 40 minutes of data. Example: Setting to 50 bars makes it more reactive to recent action but less stable. Setting to 200 bars makes it smoother but slower to show new developments.
🎚️ NUMBER OF BINS (Default: 40) = Resolution of price levels
How many horizontal slices to divide the price range into. More bins = finer resolution but more noise. Fewer bins = smoother but less precise. 40 bins for 1-minute = good balance. Example: With $1,000 range, 40 bins = $25 per level. 20 bins would be $50 per level (less precise). 60 bins would be $16.67 per level (more precise but noisier).
📏 DISPLAY OFFSET (Default: 10 bars) = How far right the profile extends
How many bars to the right of current candle the volume profile displays. Purely visual - doesn't affect calculations. Example: Offset = 10 means the profile extends 10 bars to the right. Offset = 30 means it extends further right (more separation from candles).
📊 VOLUME TREND PERIOD (Default: 15 bars) = How many recent bars define "recent"
The number of bars considered "recent" vs "old" when calculating volume trends. Shorter = more sensitive to very recent changes. Longer = smoother trends. Example: 15 bars means "recent" = last 15 candles (last 15 minutes on 1m chart). Setting to 5 would make it hyper-reactive to the last 5 minutes. Setting to 30 would make it smoother.
🎯 EXHAUSTION THRESHOLD (Default: 65%) = How extreme delta must be for exhaustion
The minimum delta percentage to trigger exhaustion detection. Higher = more selective (only extreme cases). Lower = more signals but more false positives. Example: 65% means delta must be >65% or <-65% to qualify. Setting to 75% would only catch the most extreme exhaustion. Setting to 55% would catch more cases.
💜 MICRO-LEVEL THRESHOLD (Default: 60%) = How strong a level must be for MICRO-SR
The minimum volume percentage (relative to max) required for MICRO-SR detection. Higher = fewer, stronger levels. Lower = more levels but weaker. Example: 60% means bin must have at least 60% of the max bin's volume. Setting to 70% would show only the strongest levels. Setting to 50% would show more levels.
⚡ DELTA MOMENTUM PERIOD (Default: 3 bars) = How many bins to average for momentum
How many previous bins to average when calculating delta momentum. Shorter = more sensitive acceleration signals. Longer = smoother, less noisy. Example: 3 bins means compares current to average of last 3. Setting to 5 would smooth out momentum detection. Setting to 2 would make it more reactive.
🌊 FLOW SHIFT SENSITIVITY (Default: 40%) = Minimum delta change for flow shift
How much delta must change between consecutive bins to trigger FLOW SHIFT. Lower = more flow shift signals (more sensitive). Higher = fewer, stronger signals. Example: 40% means delta must flip by at least 40% (e.g., from -20% to +20% or from +10% to -30%). Setting to 60% would only catch major reversals. Setting to 25% would catch smaller shifts.
💥 VOLUME SPIKE THRESHOLD (Default: 2.0x) = Multiplier to trigger spike signal
How many times above average volume must be to show the spike label. Higher = fewer spikes shown (only extreme). Lower = more spikes shown. Example: 2.0× means current volume must be at least double the 20-bar average. Setting to 3.0× would only show massive spikes. Setting to 1.5× would show more moderate spikes.
🚀 BREAKOUT MOMENTUM MINIMUM (Default: 20%) = Minimum delta for breakout signal
How much delta momentum required at POC for VA breakout to trigger. Higher = fewer breakout signals (more selective). Lower = more signals but more false positives. Example: 20% means POC delta must be at least 20% (or -20%) when price breaks VA. Setting to 30% would only show strong breakouts. Setting to 10% would show weaker breakouts too.
───────────────────────────────────────────────────────────────────────────────
🔬 ADVANCED TECHNICAL DETAILS
───────────────────────────────────────────────────────────────────────────────
📐 BIN POSITIONING = Price-to-bin mapping formula
For any price P, its bin index = floor((P - MinPrice) / BinStep). BinStep = (MaxPrice - MinPrice) / NumBins. Example: Range $99,000-$100,000, 40 bins. BinStep = $1,000/40 = $25. Price $99,550 → Bin 22: (99,550 - 99,000) / 25 = 22.
📊 VOLUME DISTRIBUTION = Proportional allocation across bins
When a candle spans multiple bins, its volume is distributed proportionally based on how much of the candle's range overlapped each bin. Example: Candle from $99,950 to $100,050 (range = $100) with 50 BTC volume. Bin 1 ($99,950-$99,975) gets 25% of range = 12.5 BTC. Bin 2 ($99,975-$100,000) gets 25% = 12.5 BTC. Bin 3 ($100,000-$100,025) gets 25% = 12.5 BTC. Bin 4 ($100,025-$100,050) gets 25% = 12.5 BTC.
🎨 COLOR GRADIENT MAPPING = Delta to RGB conversion
Delta percentage is normalized to 0-1 scale (from -100/+100 range), then mapped to RGB gradient. -100% (0.0) = Full bearish color RGB. 0% (0.5) = Neutral gray. +100% (1.0) = Full bullish color RGB. Example: Delta = 60% → Normalized = 0.8 → 80% towards full bullish color (bright cyan).
⚖️ BALANCE SCORE FORMULA = Weighted geometric mean
BalanceScore = (VolumeBalance^w) × (PriceBalance^w) × (HitBalance^w), where w=weight (default 1.0). VolumeBalance = 1 - |BullVol - BearVol|/TotalVol. PriceBalance = 1 - AvgRange/MaxRange. HitBalance = Hits/MaxHits. Example: Vol=0.9, Price=0.8, Hit=0.7 → Score = 0.9 × 0.8 × 0.7 = 0.504.
🔄 DELTA HISTORY TRACKING = Rolling array per bin
Each bin maintains an array of its last N delta values (where N = delta momentum period). When calculating momentum, current delta is compared to the average of this array. Example: Bin's delta history = . Average = 25%. Current = 55%. Momentum = 55 - 25 = 30.
📈 VOLUME VELOCITY = Second derivative of volume
Measures acceleration of volume change. Recent change = (Recent - Mid). Old change = (Mid - Old). Acceleration = (Recent change - Old change) / |Old change|. Positive = accelerating. Negative = decelerating. Example: Old=100, Mid=150, Recent=220. Recent change = 70. Old change = 50. Accel = (70-50)/50 = 0.4 = 40% acceleration.
🎯 VA EXPANSION ALGORITHM = Greedy breadth-first from POC
Start at POC bin. While accumulated volume < 70% of total: Look at bin above and bin below POC boundary. Choose whichever has more volume. Add that bin to VA. Repeat. Example: POC at bin 20. Bin 21 (above) has 80 BTC, Bin 19 (below) has 95 BTC. Add bin 19. Now VA = bins 19-20. Next: Bin 21 has 80, Bin 18 has 70. Add bin 21. VA = bins 19-21. Continue until 70% captured.
⏱️ REAL-TIME UPDATES = Recalculates on every new bar close
The entire profile recalculates when barstate.islast = true (current bar). All 40 bins are cleared and rebuilt from scratch using the last N candles. This ensures the profile is always accurate to the current market state. Example: On 1-minute chart, the profile fully recalculates every 60 seconds when the new candle opens.
🎨 RENDERING OPTIMIZATION = 500-bar future limit management
TradingView limits drawing objects to 500 bars into the future. The indicator calculates safe offsets: maxFutureBar = bar_index + 499, then caps all box/line/label positions to stay under this limit. Example: Current bar_index = 1000. Max future = 1499. Display offset wanted = 200. Safe offset = min(200, 400 - 100) = min(200, 300) = 200 ✓ safe.
───────────────────────────────────────────────────────────────────────────────
💡 INTERPRETATION TIPS
───────────────────────────────────────────────────────────────────────────────
🔢 Understanding Percentages:
- Delta 0-30%: Weak bias, essentially balanced
- Delta 30-60%: Moderate bias, one side has control
- Delta 60-85%: Strong bias, one side dominated
- Delta 85-100%: Extreme bias, one-sided market (exhaustion likely)
📊 Volume Trend Interpretation:
- Trend -1.0 to -0.3: Strong decline in participation
- Trend -0.3 to -0.1: Moderate decline
- Trend -0.1 to +0.1: Stable/flat volume
- Trend +0.1 to +0.3: Moderate increase
- Trend +0.3 to +1.0: Strong increase in participation
🎯 Balance Score Ranges:
- 0.0-0.3: Heavily imbalanced, strong directional bias
- 0.3-0.5: Moderate imbalance, rotation forming
- 0.5-0.7: Balanced rotation zone
- 0.7-1.0: Perfect equilibrium, range-bound
⚡ Momentum Thresholds:
- <10: Negligible momentum change
- 10-20: Moderate acceleration
- 20-40: Strong acceleration (arrow appears)
- >40: Extreme acceleration (very rare, very significant)
═══════════════════════════════════════════════════════════════════════════════
Understanding these calculations helps you know WHY the indicator is showing what it's showing. When you see "FLOW SHIFT ↑", you now know it calculated a >40% delta flip with increasing volume. When you see MICRO-SR, you know that level has >60% of max volume, >20% of max hits, and active participation. When you see ⇈, you know delta jumped significantly above its 3-bin average. Use this knowledge to trust the signals and understand their strength.
═══════════════════════════════════════════════════════════════════════════════
LE ScannerGENERAL OVERVIEW:
The LE Scanner is a multi-ticker dashboard that scans up to 20 tickers in real time and displays their current trend, price, volume, and key level conditions directly on your chart. It tracks how each ticker interacts with both the Previous Day’s High/Low (PDH/PDL) and Pre-Market High/Low (PMH/PML) to determine whether price is breaking above, below, or remaining inside those levels. The indicator automatically classifies each ticker as Bullish, Bearish, or Neutral based on these break conditions.
This indicator was developed by Flux Charts in collaboration with Ellis Dillinger (Ellydtrades).
What is the purpose of the indicator?:
The LE Scanner helps traders keep track of up to 20 tickers at once without switching between charts. It puts all the key information in one place, including price, daily percentage change, volume, and how each ticker is reacting around the previous day’s and pre-market highs and lows. The layout is simple and easy to read, with progress bars that show where price is relative to those levels. The goal is to save time and make it easier to understand market strength and weakness across your watchlist.
What’s the theory behind the indicator?:
The LE Scanner is built around the idea that key levels define bias. The previous day’s high and low show where the market traded most actively during the prior session, and the pre-market range reveals how price behaved before the open. When a ticker breaks both the previous day’s high and the pre-market high, it shows that buyers are in control. When it breaks both the previous day’s low and the pre-market low, sellers are in control. If neither side has full control, the bias is seen as neutral.
LE SCANNER FEATURES:
Multi-Ticker Dashboard
Key Level Tracking
Trend Classification
Sorting
Customization
Multi-Ticker Dashboard:
The LE Scanner can monitor up to 20 tickers at the same time. Each ticker has its own row in the dashboard showing:
Ticker Name
Current Price
Volume
Daily % Change
PDH Break
PDL Break
PMH Break
PML Break
Trend (bullish, bearish, or neutral)
You can enable or disable each ticker individually, so if you only want to track 5 or 10 tickers, you can simply toggle the rest off. Each ticker input lets you type in any valid ticker that’s available on TradingView.
Ticker Name:
Shows the ticker you selected in your input settings
Current Price:
Displays the latest price of that ticker based on your chart’s selected timeframe.
Volume:
Tracks the total trading volume for the current session.
Daily % Change:
Measures how much price has moved since the previous session’s close.
The remaining elements of the dashboard are explained in full detail throughout the remaining sections of this write-up.
Key Level Tracking:
The core of the LE Scanner is its ability to track and visualize how price interacts with four key levels for every ticker:
Previous Day High (PDH)
Previous Day Low (PDL)
Pre-Market High (PMH)
Pre-Market Low (PML)
These levels are updated automatically and compared to the current market price for each ticker inputted into the indicator. They show you whether the market is staying inside yesterday’s range or expanding beyond it.
🔹Previous Day High (PDH) & Previous Day Low (PDL)
The Previous Day High (PDH) marks where price reached its highest point during the last full trading session, while the Previous Day Low (PDL) marks the lowest point. Together, they define the previous day’s range and help traders understand where price is trading relative to that prior structure.
When the current price of a user-selected ticker moves above the PDH, it signals that buyers are taking control and that the ticker is now trading above yesterday’s range. In the dashboard, this change triggers a 🟢 icon under the “PDH Break” column. Once the PDH Break is confirmed, the opposite PDL Break column for that same ticker becomes blank.
When the current price of the user-selected ticker moves below the PDL, it shows that sellers are taking control and that the ticker is trading below yesterday’s range. In the dashboard, this change triggers a 🔴 icon under the “PDL Break” column. Once the PDL Break is confirmed, the opposite PDH Break column for that same ticker becomes blank.
🔹 Pre-Market High (PMH) & Pre-Market Low (PML)
The Pre-Market High (PMH) and Pre-Market Low (PML) show where price reached its highest and lowest points before the main trading session begins. On most U.S. exchanges, the pre-market session is from 4:00 AM to 9:29 AM Eastern Standard Time (EST), just before the New York session opens at 9:30 AM EST. These levels are important because they reflect how traders positioned themselves during the early morning hours. Many traders use the pre-market session to react to overnight news. The PMH and PML outline that entire pre-market range, showing where buyers and sellers fought for control and where the early balance between the two sides was established before the market opens.
When the current price of a ticker moves above the Pre-Market High, it means buyers are in control and that price has pushed through the top of the pre-market range. In the dashboard, this triggers a 🟢 icon under the “PMH Break” column. Once this break is confirmed, the opposite PML Break column for that ticker becomes blank.
When the current price moves below the Pre-Market Low, it means sellers are in control and that price has fallen beneath the pre-market range. In the dashboard, this triggers a 🔴 icon under the “PML Break” column. Once a PML Break is confirmed, the opposite PMH Break column for that ticker becomes blank.
🔹Progress Bars
The LE Scanner indicator includes progress bars that show how far the current price is from key levels.
When price is between the Previous Day High (PDH) and Previous Day Low (PDL), the progress bar measures price’s distance relative to those two points.
When price is between the Pre-Market High (PMH) and Pre-Market Low (PML), the bar tracks how far price is from those pre-market boundaries.
The closer price gets to either side, the more the bar fills, giving you a quick visual sense of how close a breakout or breakdown might be. A bar that’s nearly full means price is approaching one of the levels, while a shorter bar means it’s still far away from it. By seeing this relationship directly in the dashboard, you can see which tickers are getting ready to test key levels without flipping through multiple charts.
🔹PDH Progress Bar
The PDH progress bar measures how close price is to breaking above the previous day’s high.
When the bar is nearly full, it means the current price is trading just below yesterday’s high.
When the bar is low or mostly empty, it means price is far from the PDH and trading near the middle or lower end of the previous day’s range.
Once price breaks above the PDH, the progress bar is replaced with a green confirmation icon in the PDH Break column.
🔹Previous Day Low (PDL) Progress Bar
The PDL progress bar measures how close price is to breaking below the previous day’s low.
When the bar is nearly full, it means the current price is trading just above yesterday’s low.
When the bar is low or mostly empty, it means price is far from the PDL and trading near the middle or upper end of the previous day’s range.
Once price breaks below the PDL, the progress bar is replaced with a red confirmation icon in the PDL Break column.
🔹Pre-Market High (PMH) Progress Bar
The PMH progress bar shows how close price is to breaking above the pre-market high.
When the bar is nearly full, it means the current price is trading just below the pre-market high.
When the bar is low or mostly empty, it means price is far from the PMH and trading near the middle or lower end of the pre-market range.
Once price breaks above the PMH, the progress bar is replaced with a green confirmation icon in the PMH Break column.
🔹Pre-Market Low (PML) Progress Bar
The PML progress bar shows how close price is to breaking below the pre-market low.
When the bar is nearly full, it means the current price is trading just above the pre-market low.
When the bar is low or mostly empty, it means price is far from the PML and trading near the middle or upper end of the pre-market range.
Once price breaks below the PML, the progress bar is replaced with a red confirmation icon in the PML Break column.
Trend Classification:
The LE Scanner automatically classifies each user-inputted ticker as bullish, bearish, or neutral based on how price is interacting with its key levels.
Each trend type follows a specific set of conditions and is displayed in its own column under Trend on the dashboard.
🔹 Bullish Trend
A bullish trend occurs when price has broken above both the Previous Day High (PDH) and the Pre-Market High (PMH). This shows that buyers are in full control and that the ticker is trading firmly above the prior session’s and pre-market range.
When this condition is met, the Trend column displays a green background with an upward-facing triangle icon (▲).
🔹 Bearish Trend
A bearish trend occurs when price has broken below both the Previous Day Low (PDL) and the Pre-Market Low (PML). This indicates that sellers are in control and that the ticker is trading firmly below the prior session’s and pre-market range.
When this happens, the Trend column switches to a red background with a downward-facing triangle icon (▼).
🔹 Neutral Trend
A neutral trend occurs when price is trading inside the range, meaning it hasn’t broken above the PDH/PMH or below the PDL/PML. This indicates that neither bulls nor bears has clear control, and the ticker is consolidating between the prior session’s and pre-market range.
When this condition is active, the Trend column appears with a warning sign icon (⚠️). This helps distinguish tickers that are still forming setups from those that have already shown decisive strength or weakness.
Sorting:
The LE Scanner includes a built-in sorting feature that lets you reorder the dashboard in either descending or ascending order based on one of four metrics:
% Change
Volume
Price
Trend
Sorting is handled directly in the indicator settings, where you can toggle “Sort By” and then select your preferred Sort By criteria and Order (Ascending or Descending). When enabled, the dashboard automatically repositions every ticker to match the selected sorting method.
🔹 % Change Sorting
When you sort by % Change, the dashboard ranks tickers based on their daily percentage movement relative to the previous session’s close.
If you choose descending order, the biggest gainers appear at the top.
If you choose ascending order, the biggest decliners appear at the top.
🔹 Volume Sorting
When you sort by Volume, the dashboard arranges tickers based on their total traded volume for the current session.
If you choose descending order, the highest-volume tickers appear at the top.
If you choose ascending order, the lowest-volume tickers appear at the top.
🔹 Price Sorting
When you sort by Price, the dashboard arranges tickers by their current market price.
If you choose descending order, the highest-priced tickers appear at the top.
If you choose ascending order, the lowest-priced tickers appear at the top.
🔹 Trend Sorting
When you sort by Trend, the dashboard organizes tickers based on their directional classification.
If you choose descending order, bullish tickers appear first, followed by neutral and bearish.
If you choose ascending order, bearish tickers appear first, followed by neutral and bullish.
Customization:
The LE Scanner includes several settings that let you customize how the dashboard appears on your chart. All visual and positional elements can be adjusted to fit your personal layout preferences.
🔹 Dashboard Position
You can move the dashboard anywhere on your chart using the “Table Position” setting. Options include:
Bottom-Center
Bottom-Left
Bottom-Right
Middle-Center
Middle-Left
Middle-Right
Top-Center
Top-Left
Top-Right
🔹 Dashboard Size
The dashboard size can be adjusted to be larger or smaller. Users can choose between the following options:
Tiny
Small
Normal
Large
Huge
🔹 Color Customization
All color elements in the dashboard are customizable. You can change the following:
Background Color
Border Color
Frame Color
Text Color
Bullish Trend Color
Bearish Trend Color
Important Notes:
Because the LE Scanner tracks multiple tickers and updates all data in real time, it performs several background calculations at once. On rare occasions, this can cause the following issue:
Computation Error:
Scanning up to 20 tickers at the same time requires multiple request.security() calls. This process is resource-intensive and can sometimes trigger a calculation timeout message in TradingView. If this occurs, simply force the indicator to refresh by changing one of its settings (for example, toggling a ticker off and back on) or by removing and re-adding the indicator to your chart.
Uniqueness:
The LE Scanner is unique because it combines real-time multi-ticker tracking, sortable data, and visual feedback into one tool. It can track up to 20 tickers simultaneously, automatically sort them by % change, volume, price, or trend. The built-in progress bars provide a clear visual of how close price is to breaking key levels, while the trend classification instantly shows whether each ticker is bullish, bearish, or neutral.
LE LevelsGENERAL OVERVIEW:
The LE Levels indicator plots yesterday’s high/low and today’s pre-market high/low directly on your chart, then layers signal logic around those levels and a set of EMA waves. You can choose “Inside” setups, “Outside” setups, or both. You can also pick entries that trigger at levels, entries that trigger off the EMA wave, or both.
This indicator was developed by Flux Charts in collaboration with Ellis Dillinger (Ellydtrades).
What is the purpose of the indicator?:
The purpose of the LE Levels indicator is to give traders a clear view of how price is behaving around key session levels and EMA structure. It follows the same model EllyD teaches by showing where price is relative to the Previous Day High and Low and the Pre-Market High and Low, then printing signals when specific reactions occur around those levels.
What is the theory behind the indicator?:
The theory behind the LE Levels indicator is based on the concept of inside and outside days. An inside day occurs when price trades within the previous day’s high and low, signaling compression and potential breakout conditions. An outside day occurs when price moves beyond those boundaries, confirming expansion and directional bias. When price trades above the PDH or PMH, it reflects bullish control and potential continuation if supported by volume and momentum. When price trades below the PDL or PML, it shows bearish control and possible downside continuation. The idea is to combine this logic with tickers that have catalysts or news, since these events often bring higher-than-normal volume.
LE SCANNER FEATURES:
Key Levels
Signals
EMA Waves
Key Levels:
The LE Levels indicator automatically plots four key levels each day:
Previous Day High (PDH)
Previous Day Low (PDL)
Pre-Market High (PMH)
Pre-Market Low (PML)
🔹How are Key Levels used in the indicator?:
The key levels are a crucial factor in determining if the trend is bullish, bearish, or neutral trend bias. The indicator uses the key levels as a condition for identifying inside or outside setups (explained below). After determining a trend bias and setup type, the indicator prints long and short entry signals based on how price interacts with the key levels and 8 EMA Wave. (explained below).
These levels define where price previously reacted or reversed, helping traders visualize how current price action relates to prior session structure. They update automatically each day and pre-market session, allowing traders to see if price is trading inside, above, or below prior key ranges without manually drawing them.
Please Note: Pre-market times are based on U.S. market hours (Eastern Standard Time) and may vary for non-U.S. tickers or exchanges.
🔹Previous Day High (PDH):
The PDH marks the highest price reached during the previous regular trading session. It shows where buyers pushed price to its highest point before the market closed. This value is automatically pulled from the daily chart and projected forward onto intraday timeframes.
🔹Previous Day Low (PDL):
The PDL marks the lowest price reached during the previous regular trading session. It shows where selling pressure reached its lowest point before buyers stepped in. Like the PDH, this level is retrieved from the prior day’s data and extended into the current session.
🔹Pre-Market High (PMH):
The PMH is the highest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far buyers managed to push price up during the pre-market session.
🔹Pre-Market Low (PML):
The PML is the lowest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far sellers were able to drive price down during the pre-market session.
🔹Customization Options:
Extend Levels:
Extends each plotted line a user-defined number of bars into the future, keeping them visible even as new candles print. This helps maintain a clear visual reference as the session progresses.
Extend PDH/L Left & Extend PMH/L Left:
These settings let you extend the Previous Day and Pre-Market levels back to their origin point, so you can see exactly where each level was formed on the prior trading day. This makes it easy to understand the context of each level and how it developed. When this option is disabled, the lines begin at the regular session open instead of extending backward into the previous day’s data.
Show Name / Show Price:
Enabling Show Name displays labels (PDH, PDL, PMH, PML) beside each line, while Show Price adds the exact price value. You can choose to show just the name, just the price, or both for a complete label format.
Line Color and Style:
Each level can be fully customized. You can change the line color and select between solid, dashed, or dotted styles to visually distinguish each level type.
At the bottom of the indicator settings, under the ‘Miscellaneous’ section, two additional options allow further control over how levels are displayed:
Hide Previous Day Highs/Lows:
When enabled, the previous day’s high and low levels aren’t shown. When disabled, users can view previous day levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Hide Previous Pre-Market Highs/Lows:
When enabled, the previous pre-market high and low levels aren’t shown. When disabled, users can view previous pre-market levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Signals:
The LE Levels indicator automatically prints long and short entry signals based on how price interacts with its key levels (PDH, PDL, PMH, PML) and the EMA Waves. It identifies moments when price either breaks out beyond prior ranges or retests those levels in alignment with momentum shown by the EMA Waves.
There are two types of setups (Inside and Outside) and two entry types ((L)evels and (E)MAs). Together, these settings allow traders to customize the type of structure the indicator recognizes and how signals are generated.
🔹What is an Inside Setup?
An Inside Setup occurs when the current trading session forms entirely within the previous day’s range, meaning price has not yet broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). In the LE Levels indicator, inside setups are recognized when price trades within the previous day’s boundaries while also considering the pre-market range (Pre-Market High and Pre-Market Low).
Inside Setups have two main conditions, depending on directional bias:
Bullish Inside Setup:
Price trades above the Pre-Market High (PMH) and above the Previous Day Low (PDL), while still below the Previous Day High (PDH).
Bearish Inside Setup:
Price trades below the Pre-Market Low (PML) and below the Previous Day High (PDH), while still above the Previous Day Low (PDL).
🔹What is an Outside Setup?
An Outside Setup occurs when the current trading session extends beyond the previous day’s range, meaning price has broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). This structure reflects expansion and directional control, showing that either buyers or sellers have taken price into new territory beyond the prior session’s boundaries.
In the indicator, an Outside Setup forms once price closes beyond both the previous day and pre-market boundaries, showing bias in one direction.
Bullish Outside Setup:
Price closes above both the PDH and the PMH, confirming buyers have pushed through every key resistance from the prior session and the pre-market.
Bearish Outside Setup:
Price closes below both the PDL and the PML, showing sellers have pushed price beneath all key support levels from the previous session and the pre-market.
🔹Entry Types: (L)evels and (E)MAs
Once a setup type (Inside or Outside) has been established, the LE Levels indicator generates trade signals using one of two entry confirmation methods: (L) for Key Level based Entries and (E) for EMA Wave based Entries. These determine how the signal prints and what triggers it within.
🔹(L)evels Entry:
The (L)evels entry type is built around how price reacts to the key levels (PDH, PDL, PMH, PML). It prints when price retests those levels during an active setup. The logic focuses on retests, where price returns to confirm a previous breakout or breakdown before continuing in the same direction.
Bullish Outside (L)evels Setup:
A Bullish Outside Setup forms when price breaks above both the PDH and PMH. Once this breakout occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that level, showing momentum is supporting the structure. A small buffer is applied between price and the level so that even if price only comes close, without fully touching, the retest still counts. When price holds above the PDH or PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Outside (L)evels Setup:
A Bearish Outside Setup forms when price breaks below both the PDL and PML. Once this breakdown occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that area, confirming momentum is aligned with the move. A small buffer is included so that even if price comes close but doesn’t fully touch the level, the retest still qualifies. When price holds below the PDL or PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
Bullish Inside (L)evels Setup:
A Bullish Inside Setup forms when price trades above the PMH but stays below the PDH and above the PDL. Once this condition is met, the indicator waits for a pullback to the PMH. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close to the level, the retest still counts. When price holds above the PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Inside (L)evels Setup:
A Bearish Inside Setup forms when price trades below the PML but stays above the PDL and below the PDH. Once this condition is met, the indicator waits for a pullback to the PML. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close, the retest still counts. When price holds below the PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
🔹(E)MAs Entry:
The (E)MA Entry type focuses on how price reacts to the 8 EMA Wave. It identifies when price first interacts with the EMAs, then confirms continuation once momentum resumes in the setup’s direction. The first candle that touches the EMA prints an (E) marker, and the confirmation signal triggers only after price breaks above or below that candle, depending on the bias.
Bullish Outside (E)MA Setup:
A Bullish Outside Setup forms when price is trading above both the PDH and PMH. Once this breakout occurs, the indicator waits for price to pull back and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Outside (E)MA Setup:
A Bearish Outside Setup forms when price is trading below both the PDL and PML. After the breakdown, the indicator waits for price to pull back to the 8 EMA Wave, marking the candle that touches it with an (E) label. If price then breaks below that candle’s low, the continuation setup is confirmed.
Bullish Inside (E)MA Setup:
A Bullish Inside Setup forms when price trades above the PMH but remains below the PDH and above the PDL. The indicator waits for price to retrace and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Inside (E)MA Setup:
A Bearish Inside Setup forms when price trades below the PML but remains above the PDL and below the PDH. Once price touches the 8 EMA Wave, the indicator prints an (E) marker. If price then breaks below that candle’s low, the continuation setup is confirmed.
🔹Signal Settings:
At the bottom of the indicator settings panel, three core controls define how signals are displayed and which setups the indicator actively scans for. These settings allow you to refine signal generation based on your trading approach and chart preference.
Setup Type:
This setting determines which structural conditions the indicator tracks.
Inside Setups: Signals only appear when price is trading within the previous day’s range (between PDH and PDL).
Outside Setups: Signals only appear when price breaks outside the previous day’s range (above PDH/PMH or below PDL/PML).
Both: Enables signals for both Inside and Outside setups.
Entry Type:
Controls how the indicator confirms entries.
(E)MAs: Prints signals based on price interacting with the 8 EMA Wave.
(L)evels: Prints signals based on price retesting key levels such as PDH, PDL, PMH, or PML.
Both: Allows both EMA and Level-based signals to appear on the same chart.
Signal Filters (Long, Short, and Re-Entry):
These toggles let you control which trade directions are active.
Long: Displays only bullish entries and ignores all short setups.
Short: Displays only bearish entries and ignores long setups.
Re-Entry: Enables or disables repeated signals in the same direction after the first valid setup has printed. When off, only the initial signal is shown until conditions reset.
EMA Waves:
The EMA Waves help identify potential entries and show directional bias. They’re made of grouped EMAs that form shaded areas to create a “wave” look. The color-coding on the waves allows users to view when price is consolidating, in a bullish trend, or in a bearish trend. The wave updates in real time as new candles form and does not repaint historical data.
🔹8 EMA Wave
The 8 EMA Wave is used directly in the indicator’s signal logic described earlier. It reacts fastest to price compared to the other EAM Waves and determines when (L) and (E) signals can trigger.
How It Works:
The wave is made from the 8, 9, and 10 EMAs and fills the space between them to create a “wave” look. The 8 EMA Wave continuously updates its color based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based solely on price position relative to key levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is purple.
Price is between PDH and PMH: The wave is dark green, and the top half is purple.
Price is below both PDL and PML: The wave is bright red, and the bottom half is purple.
Price is between PDL and PML: The wave is dark red, and the bottom half is purple.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹8 EMA Wave Signal Function:
For (L)evels entries, the 8 EMA must be close to the key level being retested, with a small buffer that allows near touches to qualify.
For (E)MA entries, the first candle that touches the wave prints an (E), and the confirmation signal appears when price breaks that candle’s high or low.
🔹8 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The purple overlay color cannot be changed, as it is hard-coded into the indicator. The 8 EMA Wave can also be toggled on or off. Turning it off only removes the visual display from the chart and does not affect signals.
🔹20 EMA Wave
The 20 EMA Wave measures medium-term momentum and helps visualize larger pullbacks. It reacts more slowly than the 8 EMA Wave, giving a smoother wave look. No signals are generated from it. It’s purely a visual guide for spotting potential pullback areas for continuation setups.
How It Works:
The wave is made from the 19, 20, and 21 EMAs and fills the space between them to create a shaded “wave.” The color updates continuously based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based only on price position relative to these levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is blue.
Price is between PDH and PMH: The wave is dark green, and the top half is blue.
Price is below both PDL and PML: The wave is bright red, and the bottom half is blue.
Price is between PDL and PML: The wave is dark red, and the bottom half is blue.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹20 EMA Wave Use Case:
After 12:00 PM EST, the 20 EMA Wave is used to spot larger pullbacks that form later in the session. No signals are generated from it; it only serves as a visual guide for identifying potential continuation areas.
Bullish Continuation Pullback:
Bearish Continuation Pullback:
🔹20 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The blue overlay color cannot be changed, as it is hard-coded into the indicator. The 20 EMA Wave can also be toggled on or off.
🔹200 EMA Wave
The 200 EMA Wave is used to determine long-term trend bias. When price is above it, the bias is bullish; when price is below it, the bias is bearish. It updates automatically in real time and is used to define the broader directional bias for the day.
How it Works:
The 200 EMA Wave is created using the 190, 199, and 200 EMAs, with the area between them shaded to form a “wave.”
🔹200 EMA Wave Use Case:
When price is above the 200 EMA Wave and both the 8 and 20 EMA Waves are stacked above it, the overall trend is bullish.
When price is below the 200 EMA Wave and both shorter-term waves are also below it, the overall trend is bearish.
🔹200 EMA Wave Customization:
Users can customize both colors that form the 200 EMA Wave. The entire wave can also be toggled on or off in the settings.
Uniqueness:
The LE Levels indicator is unique because it combines signal logic with a clear visual structure. It automatically detects inside and outside setups, printing (L) and (E) entries based on how price reacts to key levels and the EMA Waves. Each signal follows strict conditions tied to the 8 EMA and key levels. The color-coded EMA Waves make it simple to understand where price is in relation to the key levels and getting a quick trend bias overview.
TraderDemircan Auto Fibonacci RetracementDescription:
What This Indicator Does:This indicator automatically identifies significant swing high and swing low points within a customizable lookback period and draws comprehensive Fibonacci retracement and extension levels between them. Unlike the manual Fibonacci tool that requires you to constantly redraw levels as price action evolves, this automated version continuously updates the Fibonacci grid based on the most recent major swing points, ensuring you always have current and relevant support/resistance zones displayed on your chart.Key Features:
Automatic Swing Detection: Continuously scans the specified lookback period to find the most significant high and low points, eliminating manual drawing errors
Comprehensive Level Coverage: Plots 16 Fibonacci levels including 7 retracement levels (0.0 to 1.0) and 9 extension levels (1.115 to 3.618)
Top-Down Methodology: Draws from swing high to swing low (right-to-left), following the traditional Fibonacci retracement convention where 100% is at the top
Dual Labeling System: Shows both exact price values and Fibonacci percentages for easy reference
Complete Customization: Individual toggle controls and color selection for each of the 16 levels
Flexible Display Options: Adjust line thickness (1-5), style (solid/dashed/dotted), and extension direction (left/right/both)
Visual Swing Markers: Red diamond at the swing high (starting point) and green diamond at the swing low (ending point)
Optional Trend Line: Connects the two swing points to visualize the overall price movement direction
How It Works:The indicator employs a sophisticated swing point detection algorithm that operates in two stages:Stage 1 - Find the Swing Low (Support Base):
Scans the entire lookback period to identify the lowest low, which becomes the anchor point (0.0 level in traditional retracement terms, though displayed at the bottom of the grid).Stage 2 - Find the Swing High (Resistance Peak):
After identifying the swing low, searches for the highest high that occurred after that low point, establishing the swing range. This creates a valid price movement range for Fibonacci analysis.Fibonacci Calculation Method:
The indicator uses the top-down approach where:
1.0 Level = Swing High (100% retracement, the top)
0.0 Level = Swing Low (0% retracement, the bottom)
Retracement Levels (0.236 to 0.786) = Potential support zones during pullbacks from the high
Extension Levels (1.115 to 3.618) = Potential target zones below the swing low
Formula: Price = SwingHigh - (SwingHigh - SwingLow) × FibonacciLevelThis ensures that 0.0 is at the bottom and extensions (>1.0) plot below the swing low, following standard Fibonacci retracement convention.Fibonacci Levels Explained:Retracement Levels (0.0 - 1.0):
0.0 (Gray): Swing low - the base support level
0.236 (Red): Shallow retracement, first minor support
0.382 (Orange): Moderate retracement, commonly watched support
0.5 (Purple): Psychological midpoint, significant support/resistance
0.618 (Blue - Golden Ratio): The most important retracement level, high-probability reversal zone
0.786 (Cyan): Deep retracement, last defense before full reversal
1.0 (Gray): Swing high - the initial resistance level
Extension Levels (1.115 - 3.618):
1.115 (Green): First extension, minimal downside target
1.272 (Light Green): Minor extension, common profit target
1.414 (Yellow-Green): Square root of 2, mathematical significance
1.618 (Gold - Golden Extension): Primary downside target, most watched extension level
2.0 (Orange-Red): 200% extension, psychological round number
2.382 (Pink): Secondary extension target
2.618 (Purple): Deep extension, major target zone
3.272 (Deep Purple): Extreme extension level
3.618 (Blue): Maximum extension, rare but powerful target
How to Use:For Retracement Trading (Buying Pullbacks in Uptrends):
Wait for price to make a significant move up from swing low to swing high
When price starts pulling back, watch for reactions at key Fibonacci levels
Most common entry zones: 0.382, 0.5, and especially 0.618 (golden ratio)
Enter long positions when price shows reversal signals (candlestick patterns, volume increase) at these levels
Place stop loss below the next Fibonacci level
Target: Return to swing high or higher extension levels
For Extension Trading (Profit Targets):
After price breaks below the swing low (0.0 level), use extensions as profit targets
First target: 1.272 (conservative)
Primary target: 1.618 (golden extension - most commonly reached)
Extended target: 2.618 (for strong trends)
Extreme target: 3.618 (only in powerful trending moves)
For Counter-Trend Trading (Fading Extremes):
When price reaches deep retracements (0.786 or below), look for exhaustion signals
Watch for divergences between price and momentum indicators at these levels
Enter reversal trades with tight stops below the swing low
Target: 0.5 or 0.382 levels on the bounce
For Trend Continuation:
In strong uptrends, shallow retracements (0.236 to 0.382) often hold
Use these as low-risk entry points to join the existing trend
Failure to hold 0.5 suggests weakening momentum
Breaking below 0.618 often indicates trend reversal, not just retracement
Multi-Timeframe Strategy:
Use daily timeframe Fibonacci for major support/resistance zones
Use 4H or 1H Fibonacci for precise entry timing within those zones
Confluence between multiple timeframe Fibonacci levels creates high-probability zones
Example: Daily 0.618 level aligning with 4H 0.5 level = strong support
Settings Guide:Lookback Period (10-500):
Short (20-50): Captures recent swings, more frequent updates, suited for day trading
Medium (50-150): Balanced approach, good for swing trading (default: 100)
Long (150-500): Identifies major market structure, suited for position trading
Higher values = more stable levels but slower to adapt to new trends
Pivot Sensitivity (1-20):
Controls how many candles are required to confirm a swing point
Low (1-5): More sensitive, identifies minor swings (default: 5)
High (10-20): Less sensitive, only major swings qualify
Use higher sensitivity on lower timeframes to filter noise
Individual Level Toggles:
Enable only the levels you actively trade to reduce chart clutter
Common minimalist setup: Show only 0.382, 0.5, 0.618, 1.0, 1.618, 2.618
Comprehensive setup: Enable all levels for maximum information
Visual Customization:
Line Thickness: Thicker lines (3-5) for presentation, thinner (1-2) for trading
Line Style: Solid for primary levels (0.5, 0.618, 1.618), dashed/dotted for secondary
Price Labels: Essential for knowing exact entry/exit prices
Percent Labels: Helpful for quickly identifying which Fibonacci level you're looking at
Extension Direction: Extend right for forward-looking analysis, left for historical context
What Makes This Original:While Fibonacci indicators are common on TradingView, this script's originality comes from:
Intelligent Two-Stage Detection: Unlike simple high/low finders, this uses a sequential approach (find low first, then find the high that occurred after it), ensuring logical price flow representation
Comprehensive Level Set: Includes 16 levels spanning from retracement to extreme extensions, more than most Fibonacci tools
Top-Down Methodology: Properly implements the traditional Fibonacci retracement convention (high to low) rather than the reverse
Automatic Range Validation: Only draws Fibonacci when both swing points are valid and in the correct temporal order
Dual Extension Options: Separate controls for extending lines left (historical context) and right (forward projection)
Smart Label Positioning: Places percentage labels on the left and price labels on the right for clarity
Visual Swing Confirmation: Diamond markers at swing points help users understand why levels are positioned where they are
Important Considerations:
Historical Nature: Fibonacci retracements are based on past price swings; they don't predict future moves, only suggest potential support/resistance
Self-Fulfilling Prophecy: Fibonacci levels work partly because many traders watch them, creating actual support/resistance at those levels
Not All Levels Hold: In strong trends, price may slice through multiple Fibonacci levels without pausing
Context Matters: Fibonacci works best when aligned with other support/resistance (previous highs/lows, moving averages, trendlines)
Volume Confirmation: The most reliable Fibonacci reversals occur with volume spikes at key levels
Dynamic Updates: The levels will redraw as new swing highs/lows form, so don't rely solely on static screenshots
Best Practices:
Don't Trade Blindly: Fibonacci levels are zones, not exact prices. Look for confirmation (candlestick patterns, indicators, volume)
Combine with Price Action: Watch for pin bars, engulfing candles, or doji at key Fibonacci levels
Use Stop Losses: Place stops beyond the next Fibonacci level to give trades room but limit risk
Scale In/Out: Consider entering partial positions at 0.5 and adding more at 0.618 rather than all-in at one level
Check Multiple Timeframes: Daily Fibonacci + 4H Fibonacci convergence = high-probability zone
Respect the 0.618: This golden ratio level is historically the most reliable for reversals
Extensions Need Strong Trends: Don't expect extensions to be hit unless there's clear momentum beyond the swing low
Optimal Timeframes:
Scalping (1-5 minutes): Lookback 20-30, watch 0.382, 0.5, 0.618 only
Day Trading (15m-1H): Lookback 50-100, all retracement levels important
Swing Trading (4H-Daily): Lookback 100-200, focus on 0.5, 0.618, 0.786, and extensions
Position Trading (Daily-Weekly): Lookback 200-500, all levels relevant for long-term planning
Common Fibonacci Trading Mistakes to Avoid:
Wrong Swing Selection: Choosing insignificant swings produces meaningless levels
Premature Entry: Entering as soon as price touches a Fibonacci level without confirmation
Ignoring Trend: Fighting the main trend by buying deep retracements in downtrends
Over-Reliance: Using Fibonacci in isolation without confirming with other technical factors
Static Analysis: Not updating your Fibonacci as market structure evolves
Arbitrary Lookback: Using the same lookback period for all assets and timeframes
Integration with Other Tools:Fibonacci + Moving Averages:
When 0.618 level aligns with 50 or 200 EMA, confluence creates stronger support
Price bouncing from both Fibonacci and MA simultaneously = high-probability trade
Fibonacci + RSI/Stochastic:
Oversold indicators at 0.618 or deeper retracements = strong buy signal
Overbought indicators at swing high (1.0) = potential reversal warning
Fibonacci + Volume Profile:
High-volume nodes aligning with Fibonacci levels create robust support/resistance
Low-volume areas near Fibonacci levels may see rapid price movement through them
Fibonacci + Trendlines:
Fibonacci retracement level + ascending trendline = double support
Breaking both simultaneously confirms trend change
Technical Notes:
Uses ta.lowest() and ta.highest() for efficient swing detection across the lookback period
Implements dynamic line and label arrays for clean redraws without memory leaks
All calculations update in real-time as new bars form
Extension options allow customization without modifying core code
Format.mintick ensures price labels match the symbol's minimum price increment
Tooltip on swing markers shows exact price values for precision
Range Trading StrategyOVERVIEW
The Range Trading Strategy is a systematic trading approach that identifies price ranges
from higher timeframe candles or trading sessions, tracks pivot points, and generates
trading signals when range extremes are mitigated and confirmed by pivot levels.
CORE CONCEPT
The strategy is based on the principle that when a candle (or session) closes within the
range of the previous candle (or session), that previous candle becomes a "range" with
identifiable high and low extremes. When price breaks through these extremes, it creates
trading opportunities that are confirmed by pivot levels.
RANGE DETECTION MODES
1. HTF (Higher Timeframe) Mode:
Automatically selects a higher timeframe based on the current chart timeframe
Uses request.security() to fetch HTF candle data
Range is created when an HTF candle closes within the previous HTF candle's range
The previous HTF candle's high and low become the range extremes
2. Sessions Mode:
- Divides the trading day into 4 sessions (UTC):
* Session 1: 00:00 - 06:00 (6 hours)
* Session 2: 06:00 - 12:00 (6 hours)
* Session 3: 12:00 - 20:00 (8 hours)
* Session 4: 20:00 - 00:00 (4 hours, spans midnight)
- Tracks high, low, and close for each session
- Range is created when a session closes within the previous session's range
- The previous session's high and low become the range extremes
PIVOT DETECTION
Pivots are detected based on candle color changes (bullish/bearish transitions):
1. Pivot Low:
Created when a bullish candle appears after a bearish candle
Pivot low = minimum of the current candle's low and previous candle's low
The pivot bar is the actual bar where the low was formed (current or previous bar)
2. Pivot High:
Created when a bearish candle appears after a bullish candle
Pivot high = maximum of the current candle's high and previous candle's high
The pivot bar is the actual bar where the high was formed (current or previous bar)
IMPORTANT: There is always only ONE active pivot high and ONE active pivot low at any
given time. When a new pivot is created, it replaces the previous one.
RANGE CREATION
A range is created when:
(HTF Mode) An HTF candle closes within the previous HTF candle's range AND a new HTF
candle has just started
(Sessions Mode) A session closes within the previous session's range AND a new session
has just started
Or Range Can Be Created when the Extreme of Another Range Gets Mitigated and We Have a Pivot low Just Above the Range Low or Pivot High just Below the Range High
Range Properties:
rangeHigh: The high extreme of the range
rangeLow: The low extreme of the range
highStartTime: The timestamp when the range high was actually formed (found by looping
backwards through bars)
lowStartTime: The timestamp when the range low was actually formed (found by looping
backwards through bars)
highMitigated / lowMitigated: Flags tracking whether each extreme has been broken
isSpecial: Flag indicating if this is a "special range" (see Special Ranges section)
RANGE MITIGATION
A range extreme is considered "mitigated" when price interacts with it:
High is mitigated when: high >= rangeHigh (any interaction at or above the level)
Low is mitigated when: low <= rangeLow (any interaction at or below the level)
Mitigation can happen:
At the moment of range creation (if price is already beyond the extreme)
At any point after range creation when price touches the extreme
SIGNAL GENERATION
1. Pending Signals:
When a range extreme is mitigated, a pending signal is created:
a) BEARISH Pending Signal:
- Triggered when: rangeHigh is mitigated
- Confirmation Level: Current pivotLow
- Signal is confirmed when: close < pivotLow
- Stop Loss: Current pivotHigh (at time of confirmation)
- Entry: Short position
Signal Confirmation
b) BULLISH Pending Signal:
- Triggered when: rangeLow is mitigated
- Confirmation Level: Current pivotHigh
- Signal is confirmed when: close > pivotHigh
- Stop Loss: Current pivotLow (at time of confirmation)
- Entry: Long position
IMPORTANT: There is only ever ONE pending bearish signal and ONE pending bullish signal
at any given time. When a new pending signal is created, it replaces the previous one
of the same type.
2. Signal Confirmation:
- Bearish: Confirmed when price closes below the pivot low (confirmation level)
- Bullish: Confirmed when price closes above the pivot high (confirmation level)
- Upon confirmation, a trade is entered immediately
- The confirmation line is drawn from the pivot bar to the confirmation bar
TRADE EXECUTION
When a signal is confirmed:
1. Position Management:
- Any existing position in the opposite direction is closed first
- Then the new position is entered
2. Stop Loss:
- Bearish (Short): Stop at pivotHigh
- Bullish (Long): Stop at pivotLow
3. Take Profit:
- Calculated using Risk:Reward Ratio (default 2:1)
- Risk = Distance from entry to stop loss
- Target = Entry ± (Risk × R:R Ratio)
- Can be disabled with "Stop Loss Only" toggle
4. Trade Comments:
- "Range Bear" for short trades
- "Range Bull" for long trades
SPECIAL RANGES
Special ranges are created when:
- A range high is mitigated AND the current pivotHigh is below the range high
- A range low is mitigated AND the current pivotLow is above the range low
In these cases:
- The pivot value is stored in an array (storedPivotHighs or storedPivotLows)
- A "special range" is created with only ONE extreme:
* If pivotHigh < rangeHigh: Creates a range with rangeHigh = pivotLow, rangeLow = na
* If pivotLow > rangeLow: Creates a range with rangeLow = pivotHigh, rangeHigh = na
- Special ranges can generate signals just like normal ranges
- If a special range is mitigated on the creation bar or the next bar, it is removed
entirely without generating signals (prevents false signals)
Special Ranges
REVERSE ON STOP LOSS
When enabled, if a stop loss is hit, the strategy automatically opens a trade in the
opposite direction:
1. Long Stop Loss Hit:
- Detects when: position_size > 0 AND position_size <= 0 AND low <= longStopLoss
- Action: Opens a SHORT position
- Stop Loss: Current pivotHigh
- Trade Comment: "Reverse on Stop"
2. Short Stop Loss Hit:
- Detects when: position_size < 0 AND position_size >= 0 AND high >= shortStopLoss
- Action: Opens a LONG position
- Stop Loss: Current pivotLow
- Trade Comment: "Reverse on Stop"
The reverse trade uses the same R:R ratio and respects the "Stop Loss Only" setting.
VISUAL ELEMENTS
1. Range Lines:
- Drawn from the time when the extreme was formed to the mitigation point (or current
time if not mitigated)
- High lines: Blue (or mitigated color if mitigated)
- Low lines: Red (or mitigated color if mitigated)
- Style: SOLID
- Width: 1
2. Confirmation Lines:
- Drawn when a signal is confirmed
- Extends from the pivot bar to the confirmation bar
- Bearish: Red, solid line
- Bullish: Green, solid line
- Width: 1
- Can be toggled on/off
STRATEGY SETTINGS
1. Range Detection Mode:
- HTF: Uses higher timeframe candles
- Sessions: Uses trading session boundaries
2. Auto HTF:
- Automatically selects HTF based on current chart timeframe
- Can be disabled to use manual HTF selection
3. Risk:Reward Ratio:
- Default: 2.0 (2:1)
- Minimum: 0.5
- Step: 0.5
4. Stop Loss Only:
- When enabled: Trades only have stop loss (no take profit)
- Trades close on stop loss or when opposite signal confirms
5. Reverse on Stop Loss:
- When enabled: Hitting a stop loss opens opposite trade with stop at opposing pivot
6. Max Ranges to Display:
- Limits the number of ranges kept in memory
- Oldest ranges are purged when limit is exceeded
KEY FEATURES
1. Dynamic Pivot Tracking:
- Pivots update on every candle color change
- Always maintains one high and one low pivot
2. Range Lifecycle:
- Ranges are created when price closes within previous range
- Ranges are tracked until mitigated
- Mitigation creates pending signals
- Signals are confirmed by pivot levels
3. Signal Priority:
- Only one pending signal of each type at a time
- New signals replace old ones
- Confirmation happens on close of bar
4. Position Management:
- Closes opposite positions before entering new trades
- Tracks stop loss levels for reverse functionality
- Respects pyramiding = 1 (only one position per direction)
5. Time-Based Drawing:
- Uses time coordinates instead of bar indices for line drawing
- Prevents "too far from current bar" errors
- Lines can extend to any historical point
USAGE NOTES
- Best suited for trending and ranging markets
- Works on any timeframe, but HTF mode adapts automatically
- Sessions mode is ideal for intraday trading
- Pivot detection requires clear candle color changes
- Range detection requires price to close within previous range
- Signals are generated on bar close, not intra-bar
The strategy combines range identification, pivot tracking, and signal confirmation to
create a systematic approach to trading breakouts and reversals based on price structure, past performance does not in any way predict future performance
Atif's Liquidity Toolkit💎 GENERAL OVERVIEW:
Atif’s Liquidity Toolkit is a price-action-based indicator used to identify Buyside & Sellside Liquidity Levels, Liquidity Sweeps, FVG Sweeps, and Buy/Sell signals, following specific rules from Atif Hussain.
This indicator was developed by Flux Charts in collaboration with Atif Hussain.
🔹Purpose of this indicator:
The purpose of Atif’s Liquidity Toolkit is to help traders understand where liquidity is forming, when it’s being taken, and how momentum shifts immediately afterward. It automates the entire process of identifying buyside & sellside liquidity, detecting liquidity sweeps, and confirming whether displacement followed through a Fair Value Gap. The goal is to give traders a consistent, rule-based framework to interpret market structure.
🎯ATIF’S LIQUIDITY TOOLKIT FEATURES:
Atif’s Liquidity Toolkit indicator includes 6 main features:
Fair Value Gaps
Multi-Timeframe Liquidity Levels
Liquidity Sweeps
Fair Value Gap Sweeps
Buy & Sell Signals with Take-Profit & Stop-Loss Levels
Alerts
1️⃣Fair Value Gaps
🔹What is a Fair Value Gap?:
A Fair Value Gap (FVG) is an area where the market’s perception of fair value suddenly changes. On your chart, it appears as a three-candle pattern: a large candle in the middle, with smaller candles on each side that don’t fully overlap it. A bullish FVG forms when a bullish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all. A bearish FVG forms when a bearish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
Bullish & Bearish FVGs:
In the settings, you can toggle on/off FVGs, choose the invalidation method, adjust the sensitivity, and toggle on FVG Midline & Labels.
🔹Invalidation Method:
The Invalidation Method setting allows traders to choose how an FVG is invalidated. You can choose between Close and Wick.
Close: A candle must close below a bullish FVG or above a bearish FVG to invalidate it.
Wick: A candle’s wick must go below a bullish FVG or above a bearish FVG to invalidate it.
🔹Sensitivity:
The sensitivity setting determines the minimum gap size required for an FVG detection. A higher sensitivity will filter out smaller gaps, while a lower sensitivity will detect more frequent, smaller gaps. Setting the sensitivity to 0 will display all gaps, regardless of their size.
On the left, the sensitivity is 5. On the right, the sensitivity is 0.
🔹Midline:
When enabled, a dashed line is drawn at the center of the FVG.
🔹Labels:
When enabled, a text label will be plotted with the gap, clearly identifying the zone as a FVG.
2️⃣ Multi-Timeframe Liquidity Levels
The indicator automatically detects and plots Buyside Liquidity (BSL) & Sellside Liquidity (SSL) Levels across up to three timeframes simultaneously.
🔹What is Buyside Liquidity?
Buyside Liquidity (BSL) represents price levels where many buy stop orders are sitting, usually from traders holding short positions. When price moves into these areas, those stop-loss orders get triggered and short sellers are forced to buy back their positions. These zones often form above key highs such as the previous day, week, or month. Understanding BSL is important because when price reaches these levels, the sudden wave of buy orders can create sharp reactions or reversals as liquidity is taken from the market.
🔹What is Sellside Liquidity?
Sellside Liquidity (SSL) represents price levels where many sell stop orders are waiting, usually from traders holding long positions. When price drops into these areas, those stop-loss orders are triggered and long traders are forced to sell their positions. These zones often form below key lows such as the previous day, week, or month. Understanding SSL is important because when price reaches these levels, the surge of sell orders can cause sharp reactions or reversals as liquidity is taken from the market.
Atif’s Liquidity Toolkit indicator automatically plots Buyside & Sellside Liquidity levels using the following levels:
Previous Day High (PDH) & Previous Day Low (PDL)
Previous Week High (PWH) & Previous Week Low (PWL)
Previous Month High (PMH) & Previous Month Low (PML)
Asia Session Highs/Lows
London Session Highs/Lows
New York Session Highs/Lows
The session start and end times are not customizable. The following times in EST are used for each session:
Asia Session: 20:00-00:00
London Session: 02:00-05:00
New York Sessions:
NY AM: 09:30-11:00
NY Lunch: 12:00-13:00
NY PM: 14:00-16:00
Users can also plot swing highs/lows using a lookback period and choosing the higher timeframe. Users can choose two custom higher timeframes and also enable swing highs/lows from the current chart’s timeframe.
There are three settings to customize for the current chart’s timeframe and higher timeframes:
Current TF - when toggled on, swing highs/lows will be plotted from the chart’s timeframe using the pivot length input
HTF 1 - when toggled on, swing highs/lows will be plotted from the user-inputted timeframe using the pivot length input
HTF 2 - when toggled on, swing highs/lows will be plotted from the user-inputted timeframe using the pivot length input
The Pivot Length controls how far back the indicator checks to confirm whether a candle’s high or low is a true swing point (also called a “pivot”). When detecting a swing high, the indicator checks if that candle’s high is higher than the highs of the previous X candles and the next X candles. For a swing low, it checks if the candle’s low is lower than the lows of the previous X candles and the next X candles. The number X comes from your Pivot Length setting.
A lower Pivot Length input (for example, 3 or 4) means the indicator only looks at a few candles on each side, so it will detect more swing points, including smaller, less significant ones. A higher Pivot Length input (for example, 20 or 25) makes the indicator look at more candles on each side, so it only marks major turning points that stand out clearly on the chart.
In short:
Low Pivot Length = more frequent, smaller levels (short-term focus)
High Pivot Length = fewer, stronger levels (major swing focus)
The Pivot Length input for each setting (Current TF, HTF 1, and HTF 2) are displayed below in the red boxes:
Each liquidity level is plotted with a text label, making it easy to identify where a level came from. You can turn off the ‘Show Levels’ setting if you don’t want to see the levels on your chart.
Please note: Liquidity Levels play a key role in finding liquidity sweeps, FVG Sweeps, and Buy/Sell signals. Keeping the levels turned off will not stop the indicator from using the levels that are enabled from being used for the other features mentioned.
3️⃣Liquidity Sweeps:
The indicator automatically detects bullish and bearish liquidity sweeps using the liquidity levels you have enabled.
🔹What is a Liquidity Sweep?
A liquidity sweep is a market phenomenon where significant players, such as institutional traders, deliberately drive prices through key levels to trigger clusters of pending buy or sell orders. It’s how the market gathers the liquidity needed for larger participants to enter positions.
Traders often place stop-loss orders around obvious highs and lows, such as the previous day’s, week’s, or month’s levels. When price pushes through one of these areas, it triggers the stops placed there and generates a burst of volume. This often creates a short-term fake-out before the market reverses in the opposite direction.
By detecting these sweeps in real time, traders can identify potential reversal areas or “trap” areas where liquidity has been taken.
🔹Bullish Liquidity Sweep
These occur when price dips below a Sellside Liquidity (SSL) level, taking out the stop-loss orders placed by long traders below that low. The indicator marks a zone around the candle that swept the SSL to highlight where liquidity was removed from the market.
When this happens, it shows that the market just cleared out sell-side liquidity, meaning traders who were long had their stops hit. This is often followed by a reversal or strong reaction upward, because the market no longer has pending liquidity to fill below that level.
🔹Bearish Liquidity Sweep
These occur when price dips above a Buyside Liquidity (BSL) level, taking out the stop-loss orders placed by short seller traders above that high. The indicator marks a zone around the candle that swept the BSL to highlight where liquidity was removed from the market.
When this happens, it shows that the market just cleared out buyside liquidity, meaning short traders had their stops hit. This is often followed by a reversal or strong reaction downward, because the market no longer has pending liquidity to fill above that level.
Under the ‘Liquidity Sweeps’ section in the settings, you can toggle on/off Bullish Regular Sweeps and Bearish Regular Sweeps. You can also customize the line style and color of liquidity levels that have been swept.
🔹How to Use Liquidity Sweeps
Liquidity sweeps are not direct trade signals. They are best used as context when forming a directional bias. A sweep shows that the market has removed liquidity from one side, which can hint at where the next move may develop.
For example:
When Buyside Liquidity (BSL) is swept, it often signals that buy stops have been triggered and the market may be preparing to move lower. Traders may then begin looking for short opportunities.
When Sellside Liquidity (SSL) is swept, it often signals that sell stops have been triggered and the market may be preparing to move higher. Traders may then begin looking for long opportunities.
It’s common practice to use liquidity sweeps as the first step in building a trade idea. Many traders will wait for additional confirmation, such as a fair value gap forming after the sweep, before opening a position.
Under the ‘Liquidity Sweeps’ section in the settings, you can toggle on/off:
Bullish Regular Sweeps - when disabled, Bullish Regular Sweeps won’t appear on your chart.
Bearish Regular Sweeps - when disabled, Bearish Regular Sweeps won’t appear on your chart.
4️⃣Fair Value Gap Sweeps:
The indicator automatically detects bullish and bearish Fair Value Gap sweeps (FVG Sweep) using the liquidity levels you have enabled.
🔹What is a FVG Sweep?
A FVG Sweep is a specific type of liquidity sweep that not only clears liquidity above or below a key level, but also forms a Fair Value Gap (FVG) immediately afterward.
The liquidity sweep shows where stop orders were triggered, areas where the market aggressively took out one side’s liquidity. The formation of a Fair Value Gap right after the sweep confirms that displacement followed. This means that the sweep was not just a stop hunt, but a deliberate move backed by momentum.
In simple terms, a regular liquidity sweep only tells you that liquidity was taken. A FVG Sweep tells you that liquidity was taken and a strong directional move started immediately after, leaving an imbalance in price. That imbalance represents where aggressive buyers or sellers entered the market without enough opposite-side orders to keep price balanced. This combination adds a confirmation and intent behind regular liquidity sweeps.
🔹Bullish FVG Sweep
The indicator automatically detects bullish FVG Sweeps when price takes out a Sellside Liquidity (SSL) level and then forms a bullish FVG within the next few candles. This sequence shows that sellers were stopped out and buyers immediately entered the market with momentum.
🔹Bearish FVG Sweep
The indicator automatically detects bearish FVG Sweeps when price takes out a Buyside Liquidity (BSL) level and then forms a bearish FVG shortly after. This shows that short sellers’ stops were triggered, and new selling pressure entered the market right away.
🔹How to Use FVG Sweeps
Unlike regular liquidity sweeps, FVG Sweeps can be used as trade entries because they confirm both liquidity being cleared and immediate momentum. A regular sweep only shows that stop-losses were triggered, but an FVG Sweep proves that price not only cleared liquidity but also moved away with momentum, leaving behind an imbalance (Fair Value Gap). This shift often marks the start of a new short-term trend.
We’ll cover this in more detail in the Buy and Sell Signal section below, but in short, a bullish FVG Sweep can act as confirmation for a potential long entry after price takes out a low, while a bearish FVG Sweep can confirm a short entry after price takes out a high.
The strongest FVG Sweeps come from extremely sharp reversals. On the chart, they look like a “V” shape for bullish setups or an inverted “V” shape for bearish setups. This shape shows how quickly momentum shifted after liquidity was cleared. When price instantly reverses and leaves a Fair Value Gap behind, it’s a clear sign that buyers or sellers stepped in aggressively and absorbed all available liquidity on the opposite side.
In practice, traders often use FVG Sweeps as a trigger to align their bias. For example, after a bullish FVG Sweep, the focus shifts toward looking for long setups within the new imbalance or during a small retracement into the Fair Value Gap. After a bearish FVG Sweep, traders focus on short setups as price retraces back into the gap before continuing lower. The key takeaway is that FVG Sweeps show conviction.
Under the ‘Liquidity Sweeps’ section in the settings, you can toggle on/off:
Bullish FVG Sweeps - when disabled, Bullish FVG Sweeps won’t appear on your chart.
Bearish FVG Sweeps - when disabled, Bearish FVG Sweeps won’t appear on your chart.
Please Note: the settings you choose to use for Fair Value Gaps, under the ‘Fair Value Gaps’ section, will be used for FVG Sweeps. This is important because if you increase the sensitivity value for FVGs, not all FVG Sweeps will appear if the FVG’s size doesn’t meet the sensitivity threshold.
5️⃣Buy & Sell Signals:
This indicator also plots Buy & Sell signals. These signals follow logic based on Atif Hussain’s FVG trading model. The entry requirements for a Long & Short signal are outlined below.
🔹Buy Signal:
In order for a Buy Signal to generate, the following conditions must occur in order:
Bullish FVG Sweep
Price Retraces to the Bullish FVG
🔹Sell Signal:
In order for a Buy Signal to generate, the following conditions must occur in order:
Bearish FVG Sweep
Price Retraces to the FVG
🔹Require Retracement:
Under the ‘Signals’ section in the settings, you can toggle on/off the ‘Require Retracement’ setting. When disabled, a long/short signal will appear immediately after a Bullish or Bearish FVG Sweep, instead of waiting for price to retrace back to the gap.
Please Note: the liquidity levels you enable under the ‘Liquidity Levels’ section will be the levels used for signals. Thus, if you only have the Previous Day Highs/Lows enabled, then only those levels will be used to generate buy/sell signals. Also, long Signals will only appear if Bullish FVG Sweeps are enabled, and Short Signals will only appear if Bearish FVG Sweeps are enabled.
When a Buy Signal or Sell Signal is plotted, three suggested take-profit levels and one suggested stop-loss level are plotted. There are two different Take-Profit methods you can choose from within the indicator settings: Manual or Auto.
🔹Manual Take-Profit:
If you’re using manual take-profit levels, you can customize the Risk-to-Reward (RR) for Take-Profit 1, 2, and 3 by adjusting the “RR 1”, “RR 2”, and “RR 3” settings. Setting RR 1 to 1 means take-profit 1 is a 1:1 risk-to-reward ratio. The stop-loss will always be placed at the recent low for Buy Signals, and at the recent high for Sell Signals.
🔹Auto Take-Profit:
If you select to use Auto Take-Profit instead of Manual, then Take-Profit 1, 2, and 3 will be automatically determined based on nearby liquidity levels. The stop-loss will be placed at the recent low for Buy Signals, and at the recent high for Sell Signals. Take-Profit Levels 1, 2, and 3 will be placed at the three closest opposite liquidity levels. If the take-profit 2 and take-profit 3 levels are too far away, only one take-profit level will be displayed.
🔹Signal Settings:
Long Signals:
When enabled, long signals are shown. When disabled, long signals will not appear.
Short Signals:
When enabled, short signals are shown. When disabled, short signals will not appear.
Require Retracement:
When enabled, price must retrace to a FVG after a FVG Sweep in order for a signal to be generated.
Take-Profit Levels:
When enabled, take-profit levels (TP 1, TP 2, and TP 3) are shown with long/short signals. When disabled, take-profit levels and their price labels are not displayed.
Take-Profit Labels:
When enabled, take-profit labels are displayed when price reaches one of the three take-profit levels. When disabled, labels won’t appear when price reaches take-profit levels.
Stop-Loss Levels:
When enabled, stop-loss levels are shown for long/short signals. When disabled, the stop-loss level and its price label are not displayed.
Stop-Loss Labels:
When enabled, stop-loss levels are shown for long/short signals. When disabled, a label won’t appear when price reaches the stop-loss level.
6️⃣Alerts:
The indicator supports alerts, so you never miss a key market move. You can choose to receive alerts for each of the following conditions:
Bearish Liquidity Sweep
Bullish Liquidity Sweep
Bearish FVG Sweep
Bullish FVG Sweep
Long Signal
Short Signal
TP 1
TP 2
TP 3
Stop-Loss
‼️Important Notes:
TradingView has limitations when running features on multiple timeframes, such as the liquidity levels, which can result in the following error:
🔹Computation Error:
The computation of using MTF features are very intensive on TradingView. This can sometimes cause calculation timeouts. When this occurs, simply force the recalculation by modifying one indicator’s settings or by removing the indicator and adding it to your chart again.
🚩 UNIQUENESS:
This indicator is unique because it identifies a specific type of liquidity event referred to as FVG Sweeps, where price takes liquidity and then immediately forms a Fair Value Gap in the opposite direction. These FVG Sweeps serve as the foundation of the model, and the script uses them as the required condition for generating Buy and Sell signals. Once an FVG Sweep is confirmed, the indicator automatically produces a fully defined trade idea with a stop-loss and up to three take-profit targets, following a consistent rule-based execution approach.
Curvature Tensor Pivots🌀 Curvature Tensor Pivots
Curvature Tensor Pivots: Geometric Pivot Detection Through Differential Geometry
Curvature Tensor Pivots applies mathematical differential geometry to market price analysis, identifying pivots by measuring how price trajectories bend through space. Unlike traditional pivot indicators that rely solely on price highs and lows, this system calculates the actual geometric curvature of price paths and detects inflection points where the curvature changes sign or magnitude—the mathematical hallmarks of directional transitions.
The indicator combines three components: precise curvature measurement using second-derivative calculus, tensor weighting that multiplies curvature by volatility and momentum, and a tension-based prediction system that identifies compression before pivots form. This creates a forward-looking pivot detector with built-in confirmation mechanics.
What Makes This Original
Pure Mathematical Foundation
This indicator implements the classical differential geometry curvature formula κ = |y''| / (1 + y'²)^(3/2), which measures how sharply a curve bends at any given point. In price analysis, high curvature indicates sharp directional changes (active pivots), while curvature approaching zero indicates straight-line motion (inflection points forming). This mathematical approach is fundamentally different from pattern recognition or statistical pivots—it measures the actual geometry of price movement.
Tensor Weighting System
The core innovation is the tensor scoring mechanism, which multiplies geometric curvature by two market-state variables: volatility (ATR expansion/compression) and momentum (rate of change strength). This creates a multi-dimensional strength metric that distinguishes between meaningful pivots and noise. A high tensor score means high curvature is occurring during significant volatility with strong momentum—a genuine structural turning point. Low tensor scores during high curvature indicate choppy, low-conviction moves.
Tension-Based Prediction
The system calculates tension as the inverse of curvature (Tension = 1 - κ). When curvature is low, tension is high, indicating price is moving in a straight line and approaching an inflection point where it must curve. The tension cloud visualizes this compression, tightening before pivots form and expanding after they complete. This provides anticipatory signals rather than purely reactive confirmation.
Integrated Confirmation Architecture
Rather than simply flagging high curvature, the system requires convergence of four elements: geometric inflection detection (sign changes in second derivative or curvature extrema), traditional price structure pivots (pivot highs/lows), tensor strength above threshold, and minimum spacing between signals. This multi-layer confirmation prevents false signals while maintaining sensitivity to genuine turning points.
This is not a combination of existing indicators—it's an application of pure mathematical concepts (differential calculus and tensor algebra) to market geometry, creating a unique analytical framework.
Core Components and How They Work Together
1. Differential Geometry Engine
The foundation is calculus-based trajectory analysis. The system treats price as a function y(t) and calculates:
First derivative (y'): The slope of the price trajectory, representing directional velocity
Second derivative (y''): The acceleration of slope change, representing how quickly direction is shifting
Curvature (κ): The normalized geometric bend, calculated using the formula κ = |y''| / (1 + y'²)^(3/2)
This curvature value is then normalized to a 0-1 range using adaptive statistical bounds (mean ± 2 standard deviations over a rolling window). High κ values indicate sharp bends (active pivots), while κ approaching zero indicates inflection points where the trajectory is straightening before changing concavity.
2. Tensor Weighting Components
The raw curvature is weighted by market dynamics to create the tensor score:
Volatility Component: Calculated as current ATR divided by baseline ATR (smoothed average). Values above 1.0 indicate expansion (higher conviction moves), while values below 1.0 indicate compression (lower reliability). This ensures pivots forming during volatile periods receive higher scores than those in quiet conditions.
Momentum Component: Measured using rate of change (ROC) strength normalized by recent average. High momentum indicates sustained directional pressure, confirming that curvature changes represent genuine trend shifts rather than noise.
Tensor Score Fusion: The final tensor score = κ × Volatility × Momentum × Direction × Gain. This creates a directional strength metric ranging from -1 (strong bearish curvature) to +1 (strong bullish curvature). The magnitude represents conviction, while the sign represents direction.
These components work together by filtering geometric signals through market-state context. A high curvature reading during low volatility and weak momentum produces a low tensor score (likely noise), while the same curvature during expansion and strong momentum produces a high tensor score (likely genuine pivot).
3. Inflection Point Detection System
Inflection points occur where the second derivative changes sign (concave to convex or vice versa) or where curvature reaches local extrema. The system detects these through multiple methods:
Sign change detection: When y'' crosses zero, the price trajectory is transitioning from curving upward to downward (or vice versa)
Curvature extrema: When κ reaches a local maximum or minimum, indicating peak bend intensity
Near-zero curvature: When κ falls below an adaptive threshold, indicating straight-line motion before a directional change
These geometric signals are combined with traditional pivot detection (pivot highs and lows using configurable lookback/lookahead periods) to create confirmed inflection zones. The geometric math identifies WHERE inflections are forming, while price structure confirms WHEN they've completed.
4. Tension Cloud Prediction
Tension is calculated as 1 - κ, creating an inverse relationship where low curvature produces high tension. This represents the "straightness" of price trajectory—when price moves in a straight line, it's building tension that must eventually release through a curved pivot.
The tension cloud width adapts to this tension value: it tightens (narrows) when curvature is low and tension is high, providing visual warning that a pivot is forming. After the pivot completes and curvature increases, tension drops and the cloud expands, confirming the turn.
This creates a leading indicator component within the system: watch for the cloud to compress, then wait for the pivot marker and tensor direction confirmation to enter trades.
5. Multi-Layer Visualization System
The visual components work hierarchically:
Curvature ribbons (foundation): Width expands with curvature magnitude, color shifts with tensor direction (green bullish, red bearish)
Tension cloud (prediction): Purple overlay that compresses before pivots and expands after
Tensor waves (context): Harmonic oscillating layers driven by three phase accumulators (curvature, tensor magnitude, volatility), creating visual texture that becomes erratic before pivots and smooth during trends
Inflection zones (timing): Golden background highlighting when geometric conditions indicate inflection points forming
Pivot markers (confirmation): Triangles marking confirmed pivots where geometric inflection + price structure + tensor strength all align
Each layer adds information without redundancy: ribbons show current state, tension shows prediction, waves show regime character, zones show geometric timing, and markers show confirmed entries.
Calculation Methodology
Phase 1 - Derivative Calculations
Price is normalized by dividing by a 50-period moving average to improve numerical stability. The first derivative is calculated as the bar-to-bar change, then smoothed using a configurable smoothing length (default 3 bars) to reduce noise while preserving structure.
The second derivative is calculated as the bar-to-bar change in the first derivative, also smoothed. This represents the acceleration of directional change—positive values indicate price is curving upward (concave up), negative values indicate curving downward (concave down).
Phase 2 - Curvature Formula
The classical curvature formula is applied:
Calculate y'² (first derivative squared)
Calculate (1 + y'²)^1.5 as the denominator
Divide |y''| by this denominator to get raw curvature κ
This formula ensures curvature is properly normalized regardless of the steepness of the trajectory. A vertical line with high slope (large y') can still have low curvature (straight), while a gradual slope with changing direction produces high curvature (curved).
The raw curvature is then normalized to 0-1 range using adaptive bounds (rolling mean ± 2 standard deviations), allowing the system to adapt to different market volatility regimes.
Phase 3 - Tensor Weighting
ATR is calculated over the specified volatility length (default 14). Current ATR is divided by smoothed ATR to create the volatility ratio. Momentum is calculated as the rate of change over the momentum length (default 10), normalized by recent average ROC.
The tensor score is computed as: Curvature × Volatility × Momentum × Tensor Gain × Direction Sign
This creates the final directional strength metric used for ribbon coloring and signal generation.
Phase 4 - Inflection Detection
Multiple conditions are evaluated simultaneously:
Second derivative sign changes (y'' × y'' < 0)
Curvature local maxima (previous bar κ > current bar κ AND previous bar κ > two bars ago κ)
Curvature local minima (opposite condition)
Low curvature threshold (current κ < adaptive threshold)
Any of these conditions triggers inflection zone highlighting. For confirmed pivot signals, inflection detection must coincide with traditional pivot highs/lows AND tensor magnitude must exceed threshold AND minimum spacing since last signal must be satisfied.
Phase 5 - Tension Calculation
Tension = 1 - κ (smoothed)
This inverse relationship creates the compression/expansion dynamic. When curvature approaches zero (straight trajectory), tension approaches 1 (maximum compression). When curvature is high (sharp bend), tension approaches zero (released).
The tension cloud bands are calculated as: Basis ± (Ribbon Width × Tension)
This creates the visual tightening effect before pivots.
Phase 6 - Wave Generation
Three phase accumulators are maintained:
Phase 1: Accumulates based on curvature magnitude (0.1 × κ per bar)
Phase 2: Accumulates based on tensor magnitude (0.15 × tensor per bar)
Phase 3: Accumulates based on volatility (0.08 × volatility per bar)
For each wave layer (2-8 configurable), a unique frequency is used (layer number × 0.6). The wave offset is calculated as:
Amplitude × (sin(phase1 × frequency) × 0.4 + sin(phase2 × frequency × 1.2) × 0.35 + sin(phase3 × frequency × 0.8) × 0.25)
This creates complex harmonic motion that reflects the interplay of curvature, strength, and volatility. When these components are aligned, waves are smooth; when misaligned (pre-pivot conditions), waves become chaotic.
All calculations are deterministic and execute on closed bars only—there is no repainting.
How to Use This Indicator
Setup and Configuration
Apply the indicator to your chart with default settings initially
Enable the main dashboard (top right recommended) to monitor curvature, tensor, and tension metrics in real-time
Enable the curvature matrix (bottom right) to see historical patterns in the heatmap
Choose your ribbon mode: "Dual Ribbon" shows both bullish and bearish zones, "Tension Cloud" emphasizes the compression zones
For your first session, observe how the tension cloud behaves before confirmed pivots—you'll notice it consistently tightens (narrows) before pivot markers appear, then expands after.
Signal Interpretation
High Pivot (Bearish) - Red triangle above price:
Occurs when price makes a pivot high (local maximum)
Second derivative is negative (concave down curvature)
Tensor magnitude exceeds threshold (strong confirmation)
Minimum spacing requirement met (noise filter)
Interpretation: A confirmed bearish inflection point has formed. Price trajectory has curved over and is transitioning from upward to downward movement.
Low Pivot (Bullish) - Blue triangle below price:
Occurs when price makes a pivot low (local minimum)
Second derivative is positive (concave up curvature)
Tensor magnitude exceeds threshold
Spacing requirement met
Interpretation: A confirmed bullish inflection point has formed. Price trajectory has curved upward and is transitioning from downward to upward movement.
Dashboard Metrics
κ (Curvature): 0-100% reading. Above 70% = sharp active pivot, 40-70% = moderate curve, below 40% = gentle or approaching inflection
Tensor: Directional strength. Arrow indicates bias (⬆ bullish, ⬇ bearish, ⬌ neutral). Magnitude indicates conviction.
Volatility: Current ATR expansion state. Above 70% = high volatility (pivots more significant), below 40% = compressed (pivots less reliable)
Momentum: Directional strength. High values confirm trend continuation, low values suggest exhaustion
Tension: 0-100% reading. Above 70% = pivot forming soon (high compression), below 40% = pivot recently completed (expanded)
State: Real-time regime classification:
"🟢 STABLE" = normal trending conditions
"🟡 TENSION" = pivot forming (high compression)
"🔴 HIGH κ" = active sharp pivot in progress
"⚠ INFLECTION" = geometric inflection zone (critical transition)
Curvature Matrix Heatmap
The matrix shows the last 30 bars (configurable 10-100) of historical data across five metrics:
κ row: Curvature evolution (green = low, yellow = moderate, red = high)
Tension row: Purple intensity shows compression building
Tensor row: Strength evolution (green = strong, yellow = moderate, red = weak)
Volatility row: Expansion state
Momentum row: Directional conviction
Pattern recognition: Look for purple clustering in the tension row followed by red spikes in the κ row—this shows compression → release pivot sequence.
Trading Workflow
Step 1 - Monitor Tension:
Watch the tension cloud and dashboard tension metric. When tension rises above 60-70% and the cloud visibly tightens, a pivot is building. The matrix will show purple bands clustering.
Step 2 - Identify Inflection Zone:
Wait for the golden background glow (inflection zone) to appear. This indicates the geometric conditions are met: curvature is approaching zero, second derivative is near sign change, or curvature extrema detected. The dashboard state will show "⚠ INFLECTION ZONE".
Step 3 - Confirm Direction:
Check the tensor arrow in the dashboard:
⬆ (bullish tensor) = expect bullish pivot
⬇ (bearish tensor) = expect bearish pivot
Also verify the y'' status in the dashboard:
"🔵↑ Concave Up" = bullish curvature forming
"🔴↓ Concave Down" = bearish curvature forming
Step 4 - Wait for Pivot Marker:
Do not enter on inflection zones alone—wait for the confirmed pivot marker (triangle). This ensures all confirmation layers have aligned: geometric inflection + price structure pivot + tensor strength + spacing filter.
Step 5 - Execute Entry:
Long entry: Blue triangle below price + ⬆ tensor + tension releasing (dropping)
Short entry: Red triangle above price + ⬇ tensor + tension releasing
Step 6 - Manage Risk:
Initial stop: Place beyond the opposite ribbon edge plus one ATR buffer
Trailing stop: Follow the ribbon edge (basis ± adaptive width) as curvature sustains in your direction
Exit signal: If tension spikes again quickly (another inflection forming), consider taking profit—the trend may be reversing
Best Practices
Use multiple timeframe confirmation: Check that higher timeframe tensor aligns with your trade direction
Respect the spacing filter: If a pivot just fired, wait for minimum spacing before taking another signal
Distinguish regime: In "🔴 HIGH κ" state (choppy), reduce position size; in "🟢 STABLE" state, full confidence
Combine with support/resistance: Pivots near key levels have higher probability
Watch particle density: Clustering of particles indicates rising curvature intensity
Observe wave texture: Smooth flowing waves = trending environment (pivots are reversals); chaotic erratic waves = reversal environment (pivots are trend starts)
Ideal Market Conditions
Best Performance
Liquid markets with clear swing structure (forex majors, large-cap stocks, major indices)
Timeframes from 15-minute to daily (the system adapts across timeframes)
Markets with periodic swings and clear directional phases (where geometric curvature is meaningful)
Trending markets with consolidation phases (where tension builds before breakouts)
Challenging Conditions
Extremely choppy/sideways markets for extended periods (high curvature but low tensor magnitude—system will reduce signals appropriately)
Very low liquidity instruments (erratic price action creates false geometric signals)
Ultra-low timeframes (1-minute or below) where spread and noise dominate structure
Markets in deep consolidation (the system will show high tension but no clean pivot confirmation)
The indicator is designed to adapt: in poor conditions, tensor scores remain low and signals reduce naturally. In optimal conditions, tension compression → inflection → pivot confirmation sequences occur cleanly.
Parameter Optimization by Trading Style
Scalping (5-15 Minute Charts)
Curvature Window: 3-5 (faster response)
Curvature Smoothing: 2 (minimal lag)
Volatility Length: 10-14
Momentum Length: 8-10
Tensor Gain: 1.2-1.5 (moderate sensitivity)
Inflection Threshold: 0.10-0.15 (more sensitive)
Min Pivot Spacing: 3-5 bars
Pivot Mode: Aggressive
Ribbon Mode: Dual Ribbon (clearer entries)
Day Trading (15-60 Minute Charts)
Curvature Window: 5 (default)
Curvature Smoothing: 3 (balanced)
Volatility Length: 14
Momentum Length: 10
Tensor Gain: 1.5 (default)
Inflection Threshold: 0.15 (default)
Min Pivot Spacing: 5-8 bars
Pivot Mode: Normal or Adaptive
Ribbon Mode: Dual Ribbon
Swing Trading (4-Hour to Daily Charts)
Curvature Window: 7-10 (smoother)
Curvature Smoothing: 4-5 (noise reduction)
Volatility Length: 20-30
Momentum Length: 14-20
Tensor Gain: 1.8-2.5 (higher conviction requirement)
Inflection Threshold: 0.20-0.30 (more selective)
Min Pivot Spacing: 8-12 bars
Pivot Mode: Conservative
Ribbon Mode: Tension Cloud (focus on compression zones)
Performance Optimization
If you experience lag on lower-end systems:
Reduce Wave Layers: 4 → 2 (50% reduction in calculations)
Lower Particle Density: 3 → 1 (66% reduction in label creation)
Decrease Matrix History: 30 → 15 bars (50% reduction in table size)
Disable Tensor Waves entirely if not needed for your trading
Important Disclaimers
- This indicator is a technical analysis tool designed to identify potential pivot points through mathematical analysis of price trajectory geometry. It should not be used as a standalone trading system. Always combine with proper risk management, position sizing, and additional confirmation methods (support/resistance, volume analysis, multi-timeframe alignment).
- The curvature and tensor calculations are deterministic mathematical formulas applied to historical price data—they do not predict future price movements with certainty. Past geometric patterns do not guarantee future pivot behavior. The tension-based prediction system identifies conditions where pivots are likely to form based on trajectory straightness, but market conditions can change rapidly.
- All trading involves risk. Use appropriate stop losses and never risk more than you can afford to lose. The signal spacing filters and tensor confirmation layers are designed to reduce noise, but no indicator can eliminate false signals entirely.
This system is most effective when combined with sound trading principles, market context awareness, and disciplined execution.
Technical Notes
All calculations execute on closed bars only (no repainting)
Lookback functions limited to 5000 bars maximum
Arrays are fixed-size (waves) or hard-capped (particles at 80 labels)
Dashboard and matrix update only on the last bar to minimize computational load
Particle generation throttled to every 2 bars
Phase accumulators use modulo operations to prevent overflow
Statistical normalization (mean ± 2σ) automatically adapts to different volatility regimes
— Dskyz, Trade with insight. Trade with anticipation.
Dynamic Equity Allocation Model"Cash is Trash"? Not Always. Here's Why Science Beats Guesswork.
Every retail trader knows the frustration: you draw support and resistance lines, you spot patterns, you follow market gurus on social media—and still, when the next bear market hits, your portfolio bleeds red. Meanwhile, institutional investors seem to navigate market turbulence with ease, preserving capital when markets crash and participating when they rally. What's their secret?
The answer isn't insider information or access to exotic derivatives. It's systematic, scientifically validated decision-making. While most retail traders rely on subjective chart analysis and emotional reactions, professional portfolio managers use quantitative models that remove emotion from the equation and process multiple streams of market information simultaneously.
This document presents exactly such a system—not a proprietary black box available only to hedge funds, but a fully transparent, academically grounded framework that any serious investor can understand and apply. The Dynamic Equity Allocation Model (DEAM) synthesizes decades of financial research from Nobel laureates and leading academics into a practical tool for tactical asset allocation.
Stop drawing colorful lines on your chart and start thinking like a quant. This isn't about predicting where the market goes next week—it's about systematically adjusting your risk exposure based on what the data actually tells you. When valuations scream danger, when volatility spikes, when credit markets freeze, when multiple warning signals align—that's when cash isn't trash. That's when cash saves your portfolio.
The irony of "cash is trash" rhetoric is that it ignores timing. Yes, being 100% cash for decades would be disastrous. But being 100% equities through every crisis is equally foolish. The sophisticated approach is dynamic: aggressive when conditions favor risk-taking, defensive when they don't. This model shows you how to make that decision systematically, not emotionally.
Whether you're managing your own retirement portfolio or seeking to understand how institutional allocation strategies work, this comprehensive analysis provides the theoretical foundation, mathematical implementation, and practical guidance to elevate your investment approach from amateur to professional.
The choice is yours: keep hoping your chart patterns work out, or start using the same quantitative methods that professionals rely on. The tools are here. The research is cited. The methodology is explained. All you need to do is read, understand, and apply.
The Dynamic Equity Allocation Model (DEAM) is a quantitative framework for systematic allocation between equities and cash, grounded in modern portfolio theory and empirical market research. The model integrates five scientifically validated dimensions of market analysis—market regime, risk metrics, valuation, sentiment, and macroeconomic conditions—to generate dynamic allocation recommendations ranging from 0% to 100% equity exposure. This work documents the theoretical foundations, mathematical implementation, and practical application of this multi-factor approach.
1. Introduction and Theoretical Background
1.1 The Limitations of Static Portfolio Allocation
Traditional portfolio theory, as formulated by Markowitz (1952) in his seminal work "Portfolio Selection," assumes an optimal static allocation where investors distribute their wealth across asset classes according to their risk aversion. This approach rests on the assumption that returns and risks remain constant over time. However, empirical research demonstrates that this assumption does not hold in reality. Fama and French (1989) showed that expected returns vary over time and correlate with macroeconomic variables such as the spread between long-term and short-term interest rates. Campbell and Shiller (1988) demonstrated that the price-earnings ratio possesses predictive power for future stock returns, providing a foundation for dynamic allocation strategies.
The academic literature on tactical asset allocation has evolved considerably over recent decades. Ilmanen (2011) argues in "Expected Returns" that investors can improve their risk-adjusted returns by considering valuation levels, business cycles, and market sentiment. The Dynamic Equity Allocation Model presented here builds on this research tradition and operationalizes these insights into a practically applicable allocation framework.
1.2 Multi-Factor Approaches in Asset Allocation
Modern financial research has shown that different factors capture distinct aspects of market dynamics and together provide a more robust picture of market conditions than individual indicators. Ross (1976) developed the Arbitrage Pricing Theory, a model that employs multiple factors to explain security returns. Following this multi-factor philosophy, DEAM integrates five complementary analytical dimensions, each tapping different information sources and collectively enabling comprehensive market understanding.
2. Data Foundation and Data Quality
2.1 Data Sources Used
The model draws its data exclusively from publicly available market data via the TradingView platform. This transparency and accessibility is a significant advantage over proprietary models that rely on non-public data. The data foundation encompasses several categories of market information, each capturing specific aspects of market dynamics.
First, price data for the S&P 500 Index is obtained through the SPDR S&P 500 ETF (ticker: SPY). The use of a highly liquid ETF instead of the index itself has practical reasons, as ETF data is available in real-time and reflects actual tradability. In addition to closing prices, high, low, and volume data are captured, which are required for calculating advanced volatility measures.
Fundamental corporate metrics are retrieved via TradingView's Financial Data API. These include earnings per share, price-to-earnings ratio, return on equity, debt-to-equity ratio, dividend yield, and share buyback yield. Cochrane (2011) emphasizes in "Presidential Address: Discount Rates" the central importance of valuation metrics for forecasting future returns, making these fundamental data a cornerstone of the model.
Volatility indicators are represented by the CBOE Volatility Index (VIX) and related metrics. The VIX, often referred to as the market's "fear gauge," measures the implied volatility of S&P 500 index options and serves as a proxy for market participants' risk perception. Whaley (2000) describes in "The Investor Fear Gauge" the construction and interpretation of the VIX and its use as a sentiment indicator.
Macroeconomic data includes yield curve information through US Treasury bonds of various maturities and credit risk premiums through the spread between high-yield bonds and risk-free government bonds. These variables capture the macroeconomic conditions and financing conditions relevant for equity valuation. Estrella and Hardouvelis (1991) showed that the shape of the yield curve has predictive power for future economic activity, justifying the inclusion of these data.
2.2 Handling Missing Data
A practical problem when working with financial data is dealing with missing or unavailable values. The model implements a fallback system where a plausible historical average value is stored for each fundamental metric. When current data is unavailable for a specific point in time, this fallback value is used. This approach ensures that the model remains functional even during temporary data outages and avoids systematic biases from missing data. The use of average values as fallback is conservative, as it generates neither overly optimistic nor pessimistic signals.
3. Component 1: Market Regime Detection
3.1 The Concept of Market Regimes
The idea that financial markets exist in different "regimes" or states that differ in their statistical properties has a long tradition in financial science. Hamilton (1989) developed regime-switching models that allow distinguishing between different market states with different return and volatility characteristics. The practical application of this theory consists of identifying the current market state and adjusting portfolio allocation accordingly.
DEAM classifies market regimes using a scoring system that considers three main dimensions: trend strength, volatility level, and drawdown depth. This multidimensional view is more robust than focusing on individual indicators, as it captures various facets of market dynamics. Classification occurs into six distinct regimes: Strong Bull, Bull Market, Neutral, Correction, Bear Market, and Crisis.
3.2 Trend Analysis Through Moving Averages
Moving averages are among the oldest and most widely used technical indicators and have also received attention in academic literature. Brock, Lakonishok, and LeBaron (1992) examined in "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns" the profitability of trading rules based on moving averages and found evidence for their predictive power, although later studies questioned the robustness of these results when considering transaction costs.
The model calculates three moving averages with different time windows: a 20-day average (approximately one trading month), a 50-day average (approximately one quarter), and a 200-day average (approximately one trading year). The relationship of the current price to these averages and the relationship of the averages to each other provide information about trend strength and direction. When the price trades above all three averages and the short-term average is above the long-term, this indicates an established uptrend. The model assigns points based on these constellations, with longer-term trends weighted more heavily as they are considered more persistent.
3.3 Volatility Regimes
Volatility, understood as the standard deviation of returns, is a central concept of financial theory and serves as the primary risk measure. However, research has shown that volatility is not constant but changes over time and occurs in clusters—a phenomenon first documented by Mandelbrot (1963) and later formalized through ARCH and GARCH models (Engle, 1982; Bollerslev, 1986).
DEAM calculates volatility not only through the classic method of return standard deviation but also uses more advanced estimators such as the Parkinson estimator and the Garman-Klass estimator. These methods utilize intraday information (high and low prices) and are more efficient than simple close-to-close volatility estimators. The Parkinson estimator (Parkinson, 1980) uses the range between high and low of a trading day and is based on the recognition that this information reveals more about true volatility than just the closing price difference. The Garman-Klass estimator (Garman and Klass, 1980) extends this approach by additionally considering opening and closing prices.
The calculated volatility is annualized by multiplying it by the square root of 252 (the average number of trading days per year), enabling standardized comparability. The model compares current volatility with the VIX, the implied volatility from option prices. A low VIX (below 15) signals market comfort and increases the regime score, while a high VIX (above 35) indicates market stress and reduces the score. This interpretation follows the empirical observation that elevated volatility is typically associated with falling markets (Schwert, 1989).
3.4 Drawdown Analysis
A drawdown refers to the percentage decline from the highest point (peak) to the lowest point (trough) during a specific period. This metric is psychologically significant for investors as it represents the maximum loss experienced. Calmar (1991) developed the Calmar Ratio, which relates return to maximum drawdown, underscoring the practical relevance of this metric.
The model calculates current drawdown as the percentage distance from the highest price of the last 252 trading days (one year). A drawdown below 3% is considered negligible and maximally increases the regime score. As drawdown increases, the score decreases progressively, with drawdowns above 20% classified as severe and indicating a crisis or bear market regime. These thresholds are empirically motivated by historical market cycles, in which corrections typically encompassed 5-10% drawdowns, bear markets 20-30%, and crises over 30%.
3.5 Regime Classification
Final regime classification occurs through aggregation of scores from trend (40% weight), volatility (30%), and drawdown (30%). The higher weighting of trend reflects the empirical observation that trend-following strategies have historically delivered robust results (Moskowitz, Ooi, and Pedersen, 2012). A total score above 80 signals a strong bull market with established uptrend, low volatility, and minimal losses. At a score below 10, a crisis situation exists requiring defensive positioning. The six regime categories enable a differentiated allocation strategy that not only distinguishes binarily between bullish and bearish but allows gradual gradations.
4. Component 2: Risk-Based Allocation
4.1 Volatility Targeting as Risk Management Approach
The concept of volatility targeting is based on the idea that investors should maximize not returns but risk-adjusted returns. Sharpe (1966, 1994) defined with the Sharpe Ratio the fundamental concept of return per unit of risk, measured as volatility. Volatility targeting goes a step further and adjusts portfolio allocation to achieve constant target volatility. This means that in times of low market volatility, equity allocation is increased, and in times of high volatility, it is reduced.
Moreira and Muir (2017) showed in "Volatility-Managed Portfolios" that strategies that adjust their exposure based on volatility forecasts achieve higher Sharpe Ratios than passive buy-and-hold strategies. DEAM implements this principle by defining a target portfolio volatility (default 12% annualized) and adjusting equity allocation to achieve it. The mathematical foundation is simple: if market volatility is 20% and target volatility is 12%, equity allocation should be 60% (12/20 = 0.6), with the remaining 40% held in cash with zero volatility.
4.2 Market Volatility Calculation
Estimating current market volatility is central to the risk-based allocation approach. The model uses several volatility estimators in parallel and selects the higher value between traditional close-to-close volatility and the Parkinson estimator. This conservative choice ensures the model does not underestimate true volatility, which could lead to excessive risk exposure.
Traditional volatility calculation uses logarithmic returns, as these have mathematically advantageous properties (additive linkage over multiple periods). The logarithmic return is calculated as ln(P_t / P_{t-1}), where P_t is the price at time t. The standard deviation of these returns over a rolling 20-trading-day window is then multiplied by √252 to obtain annualized volatility. This annualization is based on the assumption of independently identically distributed returns, which is an idealization but widely accepted in practice.
The Parkinson estimator uses additional information from the trading range (High minus Low) of each day. The formula is: σ_P = (1/√(4ln2)) × √(1/n × Σln²(H_i/L_i)) × √252, where H_i and L_i are high and low prices. Under ideal conditions, this estimator is approximately five times more efficient than the close-to-close estimator (Parkinson, 1980), as it uses more information per observation.
4.3 Drawdown-Based Position Size Adjustment
In addition to volatility targeting, the model implements drawdown-based risk control. The logic is that deep market declines often signal further losses and therefore justify exposure reduction. This behavior corresponds with the concept of path-dependent risk tolerance: investors who have already suffered losses are typically less willing to take additional risk (Kahneman and Tversky, 1979).
The model defines a maximum portfolio drawdown as a target parameter (default 15%). Since portfolio volatility and portfolio drawdown are proportional to equity allocation (assuming cash has neither volatility nor drawdown), allocation-based control is possible. For example, if the market exhibits a 25% drawdown and target portfolio drawdown is 15%, equity allocation should be at most 60% (15/25).
4.4 Dynamic Risk Adjustment
An advanced feature of DEAM is dynamic adjustment of risk-based allocation through a feedback mechanism. The model continuously estimates what actual portfolio volatility and portfolio drawdown would result at the current allocation. If risk utilization (ratio of actual to target risk) exceeds 1.0, allocation is reduced by an adjustment factor that grows exponentially with overutilization. This implements a form of dynamic feedback that avoids overexposure.
Mathematically, a risk adjustment factor r_adjust is calculated: if risk utilization u > 1, then r_adjust = exp(-0.5 × (u - 1)). This exponential function ensures that moderate overutilization is gently corrected, while strong overutilization triggers drastic reductions. The factor 0.5 in the exponent was empirically calibrated to achieve a balanced ratio between sensitivity and stability.
5. Component 3: Valuation Analysis
5.1 Theoretical Foundations of Fundamental Valuation
DEAM's valuation component is based on the fundamental premise that the intrinsic value of a security is determined by its future cash flows and that deviations between market price and intrinsic value are eventually corrected. Graham and Dodd (1934) established in "Security Analysis" the basic principles of fundamental analysis that remain relevant today. Translated into modern portfolio context, this means that markets with high valuation metrics (high price-earnings ratios) should have lower expected returns than cheaply valued markets.
Campbell and Shiller (1988) developed the Cyclically Adjusted P/E Ratio (CAPE), which smooths earnings over a full business cycle. Their empirical analysis showed that this ratio has significant predictive power for 10-year returns. Asness, Moskowitz, and Pedersen (2013) demonstrated in "Value and Momentum Everywhere" that value effects exist not only in individual stocks but also in asset classes and markets.
5.2 Equity Risk Premium as Central Valuation Metric
The Equity Risk Premium (ERP) is defined as the expected excess return of stocks over risk-free government bonds. It is the theoretical heart of valuation analysis, as it represents the compensation investors demand for bearing equity risk. Damodaran (2012) discusses in "Equity Risk Premiums: Determinants, Estimation and Implications" various methods for ERP estimation.
DEAM calculates ERP not through a single method but combines four complementary approaches with different weights. This multi-method strategy increases estimation robustness and avoids dependence on single, potentially erroneous inputs.
The first method (35% weight) uses earnings yield, calculated as 1/P/E or directly from operating earnings data, and subtracts the 10-year Treasury yield. This method follows Fed Model logic (Yardeni, 2003), although this model has theoretical weaknesses as it does not consistently treat inflation (Asness, 2003).
The second method (30% weight) extends earnings yield by share buyback yield. Share buybacks are a form of capital return to shareholders and increase value per share. Boudoukh et al. (2007) showed in "The Total Shareholder Yield" that the sum of dividend yield and buyback yield is a better predictor of future returns than dividend yield alone.
The third method (20% weight) implements the Gordon Growth Model (Gordon, 1962), which models stock value as the sum of discounted future dividends. Under constant growth g assumption: Expected Return = Dividend Yield + g. The model estimates sustainable growth as g = ROE × (1 - Payout Ratio), where ROE is return on equity and payout ratio is the ratio of dividends to earnings. This formula follows from equity theory: unretained earnings are reinvested at ROE and generate additional earnings growth.
The fourth method (15% weight) combines total shareholder yield (Dividend + Buybacks) with implied growth derived from revenue growth. This method considers that companies with strong revenue growth should generate higher future earnings, even if current valuations do not yet fully reflect this.
The final ERP is the weighted average of these four methods. A high ERP (above 4%) signals attractive valuations and increases the valuation score to 95 out of 100 possible points. A negative ERP, where stocks have lower expected returns than bonds, results in a minimal score of 10.
5.3 Quality Adjustments to Valuation
Valuation metrics alone can be misleading if not interpreted in the context of company quality. A company with a low P/E may be cheap or fundamentally problematic. The model therefore implements quality adjustments based on growth, profitability, and capital structure.
Revenue growth above 10% annually adds 10 points to the valuation score, moderate growth above 5% adds 5 points. This adjustment reflects that growth has independent value (Modigliani and Miller, 1961, extended by later growth theory). Net margin above 15% signals pricing power and operational efficiency and increases the score by 5 points, while low margins below 8% indicate competitive pressure and subtract 5 points.
Return on equity (ROE) above 20% characterizes outstanding capital efficiency and increases the score by 5 points. Piotroski (2000) showed in "Value Investing: The Use of Historical Financial Statement Information" that fundamental quality signals such as high ROE can improve the performance of value strategies.
Capital structure is evaluated through the debt-to-equity ratio. A conservative ratio below 1.0 multiplies the valuation score by 1.2, while high leverage above 2.0 applies a multiplier of 0.8. This adjustment reflects that high debt constrains financial flexibility and can become problematic in crisis times (Korteweg, 2010).
6. Component 4: Sentiment Analysis
6.1 The Role of Sentiment in Financial Markets
Investor sentiment, defined as the collective psychological attitude of market participants, influences asset prices independently of fundamental data. Baker and Wurgler (2006, 2007) developed a sentiment index and showed that periods of high sentiment are followed by overvaluations that later correct. This insight justifies integrating a sentiment component into allocation decisions.
Sentiment is difficult to measure directly but can be proxied through market indicators. The VIX is the most widely used sentiment indicator, as it aggregates implied volatility from option prices. High VIX values reflect elevated uncertainty and risk aversion, while low values signal market comfort. Whaley (2009) refers to the VIX as the "Investor Fear Gauge" and documents its role as a contrarian indicator: extremely high values typically occur at market bottoms, while low values occur at tops.
6.2 VIX-Based Sentiment Assessment
DEAM uses statistical normalization of the VIX by calculating the Z-score: z = (VIX_current - VIX_average) / VIX_standard_deviation. The Z-score indicates how many standard deviations the current VIX is from the historical average. This approach is more robust than absolute thresholds, as it adapts to the average volatility level, which can vary over longer periods.
A Z-score below -1.5 (VIX is 1.5 standard deviations below average) signals exceptionally low risk perception and adds 40 points to the sentiment score. This may seem counterintuitive—shouldn't low fear be bullish? However, the logic follows the contrarian principle: when no one is afraid, everyone is already invested, and there is limited further upside potential (Zweig, 1973). Conversely, a Z-score above 1.5 (extreme fear) adds -40 points, reflecting market panic but simultaneously suggesting potential buying opportunities.
6.3 VIX Term Structure as Sentiment Signal
The VIX term structure provides additional sentiment information. Normally, the VIX trades in contango, meaning longer-term VIX futures have higher prices than short-term. This reflects that short-term volatility is currently known, while long-term volatility is more uncertain and carries a risk premium. The model compares the VIX with VIX9D (9-day volatility) and identifies backwardation (VIX > 1.05 × VIX9D) and steep backwardation (VIX > 1.15 × VIX9D).
Backwardation occurs when short-term implied volatility is higher than longer-term, which typically happens during market stress. Investors anticipate immediate turbulence but expect calming. Psychologically, this reflects acute fear. The model subtracts 15 points for backwardation and 30 for steep backwardation, as these constellations signal elevated risk. Simon and Wiggins (2001) analyzed the VIX futures curve and showed that backwardation is associated with market declines.
6.4 Safe-Haven Flows
During crisis times, investors flee from risky assets into safe havens: gold, US dollar, and Japanese yen. This "flight to quality" is a sentiment signal. The model calculates the performance of these assets relative to stocks over the last 20 trading days. When gold or the dollar strongly rise while stocks fall, this indicates elevated risk aversion.
The safe-haven component is calculated as the difference between safe-haven performance and stock performance. Positive values (safe havens outperform) subtract up to 20 points from the sentiment score, negative values (stocks outperform) add up to 10 points. The asymmetric treatment (larger deduction for risk-off than bonus for risk-on) reflects that risk-off movements are typically sharper and more informative than risk-on phases.
Baur and Lucey (2010) examined safe-haven properties of gold and showed that gold indeed exhibits negative correlation with stocks during extreme market movements, confirming its role as crisis protection.
7. Component 5: Macroeconomic Analysis
7.1 The Yield Curve as Economic Indicator
The yield curve, represented as yields of government bonds of various maturities, contains aggregated expectations about future interest rates, inflation, and economic growth. The slope of the yield curve has remarkable predictive power for recessions. Estrella and Mishkin (1998) showed that an inverted yield curve (short-term rates higher than long-term) predicts recessions with high reliability. This is because inverted curves reflect restrictive monetary policy: the central bank raises short-term rates to combat inflation, dampening economic activity.
DEAM calculates two spread measures: the 2-year-minus-10-year spread and the 3-month-minus-10-year spread. A steep, positive curve (spreads above 1.5% and 2% respectively) signals healthy growth expectations and generates the maximum yield curve score of 40 points. A flat curve (spreads near zero) reduces the score to 20 points. An inverted curve (negative spreads) is particularly alarming and results in only 10 points.
The choice of two different spreads increases analysis robustness. The 2-10 spread is most established in academic literature, while the 3M-10Y spread is often considered more sensitive, as the 3-month rate directly reflects current monetary policy (Ang, Piazzesi, and Wei, 2006).
7.2 Credit Conditions and Spreads
Credit spreads—the yield difference between risky corporate bonds and safe government bonds—reflect risk perception in the credit market. Gilchrist and Zakrajšek (2012) constructed an "Excess Bond Premium" that measures the component of credit spreads not explained by fundamentals and showed this is a predictor of future economic activity and stock returns.
The model approximates credit spread by comparing the yield of high-yield bond ETFs (HYG) with investment-grade bond ETFs (LQD). A narrow spread below 200 basis points signals healthy credit conditions and risk appetite, contributing 30 points to the macro score. Very wide spreads above 1000 basis points (as during the 2008 financial crisis) signal credit crunch and generate zero points.
Additionally, the model evaluates whether "flight to quality" is occurring, identified through strong performance of Treasury bonds (TLT) with simultaneous weakness in high-yield bonds. This constellation indicates elevated risk aversion and reduces the credit conditions score.
7.3 Financial Stability at Corporate Level
While the yield curve and credit spreads reflect macroeconomic conditions, financial stability evaluates the health of companies themselves. The model uses the aggregated debt-to-equity ratio and return on equity of the S&P 500 as proxies for corporate health.
A low leverage level below 0.5 combined with high ROE above 15% signals robust corporate balance sheets and generates 20 points. This combination is particularly valuable as it represents both defensive strength (low debt means crisis resistance) and offensive strength (high ROE means earnings power). High leverage above 1.5 generates only 5 points, as it implies vulnerability to interest rate increases and recessions.
Korteweg (2010) showed in "The Net Benefits to Leverage" that optimal debt maximizes firm value, but excessive debt increases distress costs. At the aggregated market level, high debt indicates fragilities that can become problematic during stress phases.
8. Component 6: Crisis Detection
8.1 The Need for Systematic Crisis Detection
Financial crises are rare but extremely impactful events that suspend normal statistical relationships. During normal market volatility, diversified portfolios and traditional risk management approaches function, but during systemic crises, seemingly independent assets suddenly correlate strongly, and losses exceed historical expectations (Longin and Solnik, 2001). This justifies a separate crisis detection mechanism that operates independently of regular allocation components.
Reinhart and Rogoff (2009) documented in "This Time Is Different: Eight Centuries of Financial Folly" recurring patterns in financial crises: extreme volatility, massive drawdowns, credit market dysfunction, and asset price collapse. DEAM operationalizes these patterns into quantifiable crisis indicators.
8.2 Multi-Signal Crisis Identification
The model uses a counter-based approach where various stress signals are identified and aggregated. This methodology is more robust than relying on a single indicator, as true crises typically occur simultaneously across multiple dimensions. A single signal may be a false alarm, but the simultaneous presence of multiple signals increases confidence.
The first indicator is a VIX above the crisis threshold (default 40), adding one point. A VIX above 60 (as in 2008 and March 2020) adds two additional points, as such extreme values are historically very rare. This tiered approach captures the intensity of volatility.
The second indicator is market drawdown. A drawdown above 15% adds one point, as corrections of this magnitude can be potential harbingers of larger crises. A drawdown above 25% adds another point, as historical bear markets typically encompass 25-40% drawdowns.
The third indicator is credit market spreads above 500 basis points, adding one point. Such wide spreads occur only during significant credit market disruptions, as in 2008 during the Lehman crisis.
The fourth indicator identifies simultaneous losses in stocks and bonds. Normally, Treasury bonds act as a hedge against equity risk (negative correlation), but when both fall simultaneously, this indicates systemic liquidity problems or inflation/stagflation fears. The model checks whether both SPY and TLT have fallen more than 10% and 5% respectively over 5 trading days, adding two points.
The fifth indicator is a volume spike combined with negative returns. Extreme trading volumes (above twice the 20-day average) with falling prices signal panic selling. This adds one point.
A crisis situation is diagnosed when at least 3 indicators trigger, a severe crisis at 5 or more indicators. These thresholds were calibrated through historical backtesting to identify true crises (2008, 2020) without generating excessive false alarms.
8.3 Crisis-Based Allocation Override
When a crisis is detected, the system overrides the normal allocation recommendation and caps equity allocation at maximum 25%. In a severe crisis, the cap is set at 10%. This drastic defensive posture follows the empirical observation that crises typically require time to develop and that early reduction can avoid substantial losses (Faber, 2007).
This override logic implements a "safety first" principle: in situations of existential danger to the portfolio, capital preservation becomes the top priority. Roy (1952) formalized this approach in "Safety First and the Holding of Assets," arguing that investors should primarily minimize ruin probability.
9. Integration and Final Allocation Calculation
9.1 Component Weighting
The final allocation recommendation emerges through weighted aggregation of the five components. The standard weighting is: Market Regime 35%, Risk Management 25%, Valuation 20%, Sentiment 15%, Macro 5%. These weights reflect both theoretical considerations and empirical backtesting results.
The highest weighting of market regime is based on evidence that trend-following and momentum strategies have delivered robust results across various asset classes and time periods (Moskowitz, Ooi, and Pedersen, 2012). Current market momentum is highly informative for the near future, although it provides no information about long-term expectations.
The substantial weighting of risk management (25%) follows from the central importance of risk control. Wealth preservation is the foundation of long-term wealth creation, and systematic risk management is demonstrably value-creating (Moreira and Muir, 2017).
The valuation component receives 20% weight, based on the long-term mean reversion of valuation metrics. While valuation has limited short-term predictive power (bull and bear markets can begin at any valuation), the long-term relationship between valuation and returns is robustly documented (Campbell and Shiller, 1988).
Sentiment (15%) and Macro (5%) receive lower weights, as these factors are subtler and harder to measure. Sentiment is valuable as a contrarian indicator at extremes but less informative in normal ranges. Macro variables such as the yield curve have strong predictive power for recessions, but the transmission from recessions to stock market performance is complex and temporally variable.
9.2 Model Type Adjustments
DEAM allows users to choose between four model types: Conservative, Balanced, Aggressive, and Adaptive. This choice modifies the final allocation through additive adjustments.
Conservative mode subtracts 10 percentage points from allocation, resulting in consistently more cautious positioning. This is suitable for risk-averse investors or those with limited investment horizons. Aggressive mode adds 10 percentage points, suitable for risk-tolerant investors with long horizons.
Adaptive mode implements procyclical adjustment based on short-term momentum: if the market has risen more than 5% in the last 20 days, 5 percentage points are added; if it has declined more than 5%, 5 points are subtracted. This logic follows the observation that short-term momentum persists (Jegadeesh and Titman, 1993), but the moderate size of adjustment avoids excessive timing bets.
Balanced mode makes no adjustment and uses raw model output. This neutral setting is suitable for investors who wish to trust model recommendations unchanged.
9.3 Smoothing and Stability
The allocation resulting from aggregation undergoes final smoothing through a simple moving average over 3 periods. This smoothing is crucial for model practicality, as it reduces frequent trading and thus transaction costs. Without smoothing, the model could fluctuate between adjacent allocations with every small input change.
The choice of 3 periods as smoothing window is a compromise between responsiveness and stability. Longer smoothing would excessively delay signals and impede response to true regime changes. Shorter or no smoothing would allow too much noise. Empirical tests showed that 3-period smoothing offers an optimal ratio between these goals.
10. Visualization and Interpretation
10.1 Main Output: Equity Allocation
DEAM's primary output is a time series from 0 to 100 representing the recommended percentage allocation to equities. This representation is intuitive: 100% means full investment in stocks (specifically: an S&P 500 ETF), 0% means complete cash position, and intermediate values correspond to mixed portfolios. A value of 60% means, for example: invest 60% of wealth in SPY, hold 40% in money market instruments or cash.
The time series is color-coded to enable quick visual interpretation. Green shades represent high allocations (above 80%, bullish), red shades low allocations (below 20%, bearish), and neutral colors middle allocations. The chart background is dynamically colored based on the signal, enhancing readability in different market phases.
10.2 Dashboard Metrics
A tabular dashboard presents key metrics compactly. This includes current allocation, cash allocation (complement), an aggregated signal (BULLISH/NEUTRAL/BEARISH), current market regime, VIX level, market drawdown, and crisis status.
Additionally, fundamental metrics are displayed: P/E Ratio, Equity Risk Premium, Return on Equity, Debt-to-Equity Ratio, and Total Shareholder Yield. This transparency allows users to understand model decisions and form their own assessments.
Component scores (Regime, Risk, Valuation, Sentiment, Macro) are also displayed, each normalized on a 0-100 scale. This shows which factors primarily drive the current recommendation. If, for example, the Risk score is very low (20) while other scores are moderate (50-60), this indicates that risk management considerations are pulling allocation down.
10.3 Component Breakdown (Optional)
Advanced users can display individual components as separate lines in the chart. This enables analysis of component dynamics: do all components move synchronously, or are there divergences? Divergences can be particularly informative. If, for example, the market regime is bullish (high score) but the valuation component is very negative, this signals an overbought market not fundamentally supported—a classic "bubble warning."
This feature is disabled by default to keep the chart clean but can be activated for deeper analysis.
10.4 Confidence Bands
The model optionally displays uncertainty bands around the main allocation line. These are calculated as ±1 standard deviation of allocation over a rolling 20-period window. Wide bands indicate high volatility of model recommendations, suggesting uncertain market conditions. Narrow bands indicate stable recommendations.
This visualization implements a concept of epistemic uncertainty—uncertainty about the model estimate itself, not just market volatility. In phases where various indicators send conflicting signals, the allocation recommendation becomes more volatile, manifesting in wider bands. Users can understand this as a warning to act more cautiously or consult alternative information sources.
11. Alert System
11.1 Allocation Alerts
DEAM implements an alert system that notifies users of significant events. Allocation alerts trigger when smoothed allocation crosses certain thresholds. An alert is generated when allocation reaches 80% (from below), signaling strong bullish conditions. Another alert triggers when allocation falls to 20%, indicating defensive positioning.
These thresholds are not arbitrary but correspond with boundaries between model regimes. An allocation of 80% roughly corresponds to a clear bull market regime, while 20% corresponds to a bear market regime. Alerts at these points are therefore informative about fundamental regime shifts.
11.2 Crisis Alerts
Separate alerts trigger upon detection of crisis and severe crisis. These alerts have highest priority as they signal large risks. A crisis alert should prompt investors to review their portfolio and potentially take defensive measures beyond the automatic model recommendation (e.g., hedging through put options, rebalancing to more defensive sectors).
11.3 Regime Change Alerts
An alert triggers upon change of market regime (e.g., from Neutral to Correction, or from Bull Market to Strong Bull). Regime changes are highly informative events that typically entail substantial allocation changes. These alerts enable investors to proactively respond to changes in market dynamics.
11.4 Risk Breach Alerts
A specialized alert triggers when actual portfolio risk utilization exceeds target parameters by 20%. This is a warning signal that the risk management system is reaching its limits, possibly because market volatility is rising faster than allocation can be reduced. In such situations, investors should consider manual interventions.
12. Practical Application and Limitations
12.1 Portfolio Implementation
DEAM generates a recommendation for allocation between equities (S&P 500) and cash. Implementation by an investor can take various forms. The most direct method is using an S&P 500 ETF (e.g., SPY, VOO) for equity allocation and a money market fund or savings account for cash allocation.
A rebalancing strategy is required to synchronize actual allocation with model recommendation. Two approaches are possible: (1) rule-based rebalancing at every 10% deviation between actual and target, or (2) time-based monthly rebalancing. Both have trade-offs between responsiveness and transaction costs. Empirical evidence (Jaconetti, Kinniry, and Zilbering, 2010) suggests rebalancing frequency has moderate impact on performance, and investors should optimize based on their transaction costs.
12.2 Adaptation to Individual Preferences
The model offers numerous adjustment parameters. Component weights can be modified if investors place more or less belief in certain factors. A fundamentally-oriented investor might increase valuation weight, while a technical trader might increase regime weight.
Risk target parameters (target volatility, max drawdown) should be adapted to individual risk tolerance. Younger investors with long investment horizons can choose higher target volatility (15-18%), while retirees may prefer lower volatility (8-10%). This adjustment systematically shifts average equity allocation.
Crisis thresholds can be adjusted based on preference for sensitivity versus specificity of crisis detection. Lower thresholds (e.g., VIX > 35 instead of 40) increase sensitivity (more crises are detected) but reduce specificity (more false alarms). Higher thresholds have the reverse effect.
12.3 Limitations and Disclaimers
DEAM is based on historical relationships between indicators and market performance. There is no guarantee these relationships will persist in the future. Structural changes in markets (e.g., through regulation, technology, or central bank policy) can break established patterns. This is the fundamental problem of induction in financial science (Taleb, 2007).
The model is optimized for US equities (S&P 500). Application to other markets (international stocks, bonds, commodities) would require recalibration. The indicators and thresholds are specific to the statistical properties of the US equity market.
The model cannot eliminate losses. Even with perfect crisis prediction, an investor following the model would lose money in bear markets—just less than a buy-and-hold investor. The goal is risk-adjusted performance improvement, not risk elimination.
Transaction costs are not modeled. In practice, spreads, commissions, and taxes reduce net returns. Frequent trading can cause substantial costs. Model smoothing helps minimize this, but users should consider their specific cost situation.
The model reacts to information; it does not anticipate it. During sudden shocks (e.g., 9/11, COVID-19 lockdowns), the model can only react after price movements, not before. This limitation is inherent to all reactive systems.
12.4 Relationship to Other Strategies
DEAM is a tactical asset allocation approach and should be viewed as a complement, not replacement, for strategic asset allocation. Brinson, Hood, and Beebower (1986) showed in their influential study "Determinants of Portfolio Performance" that strategic asset allocation (long-term policy allocation) explains the majority of portfolio performance, but this leaves room for tactical adjustments based on market timing.
The model can be combined with value and momentum strategies at the individual stock level. While DEAM controls overall market exposure, within-equity decisions can be optimized through stock-picking models. This separation between strategic (market exposure) and tactical (stock selection) levels follows classical portfolio theory.
The model does not replace diversification across asset classes. A complete portfolio should also include bonds, international stocks, real estate, and alternative investments. DEAM addresses only the US equity allocation decision within a broader portfolio.
13. Scientific Foundation and Evaluation
13.1 Theoretical Consistency
DEAM's components are based on established financial theory and empirical evidence. The market regime component follows from regime-switching models (Hamilton, 1989) and trend-following literature. The risk management component implements volatility targeting (Moreira and Muir, 2017) and modern portfolio theory (Markowitz, 1952). The valuation component is based on discounted cash flow theory and empirical value research (Campbell and Shiller, 1988; Fama and French, 1992). The sentiment component integrates behavioral finance (Baker and Wurgler, 2006). The macro component uses established business cycle indicators (Estrella and Mishkin, 1998).
This theoretical grounding distinguishes DEAM from purely data-mining-based approaches that identify patterns without causal theory. Theory-guided models have greater probability of functioning out-of-sample, as they are based on fundamental mechanisms, not random correlations (Lo and MacKinlay, 1990).
13.2 Empirical Validation
While this document does not present detailed backtest analysis, it should be noted that rigorous validation of a tactical asset allocation model should include several elements:
In-sample testing establishes whether the model functions at all in the data on which it was calibrated. Out-of-sample testing is crucial: the model should be tested in time periods not used for development. Walk-forward analysis, where the model is successively trained on rolling windows and tested in the next window, approximates real implementation.
Performance metrics should be risk-adjusted. Pure return consideration is misleading, as higher returns often only compensate for higher risk. Sharpe Ratio, Sortino Ratio, Calmar Ratio, and Maximum Drawdown are relevant metrics. Comparison with benchmarks (Buy-and-Hold S&P 500, 60/40 Stock/Bond portfolio) contextualizes performance.
Robustness checks test sensitivity to parameter variation. If the model only functions at specific parameter settings, this indicates overfitting. Robust models show consistent performance over a range of plausible parameters.
13.3 Comparison with Existing Literature
DEAM fits into the broader literature on tactical asset allocation. Faber (2007) presented a simple momentum-based timing system that goes long when the market is above its 10-month average, otherwise cash. This simple system avoided large drawdowns in bear markets. DEAM can be understood as a sophistication of this approach that integrates multiple information sources.
Ilmanen (2011) discusses various timing factors in "Expected Returns" and argues for multi-factor approaches. DEAM operationalizes this philosophy. Asness, Moskowitz, and Pedersen (2013) showed that value and momentum effects work across asset classes, justifying cross-asset application of regime and valuation signals.
Ang (2014) emphasizes in "Asset Management: A Systematic Approach to Factor Investing" the importance of systematic, rule-based approaches over discretionary decisions. DEAM is fully systematic and eliminates emotional biases that plague individual investors (overconfidence, hindsight bias, loss aversion).
References
Ang, A. (2014) *Asset Management: A Systematic Approach to Factor Investing*. Oxford: Oxford University Press.
Ang, A., Piazzesi, M. and Wei, M. (2006) 'What does the yield curve tell us about GDP growth?', *Journal of Econometrics*, 131(1-2), pp. 359-403.
Asness, C.S. (2003) 'Fight the Fed Model', *The Journal of Portfolio Management*, 30(1), pp. 11-24.
Asness, C.S., Moskowitz, T.J. and Pedersen, L.H. (2013) 'Value and Momentum Everywhere', *The Journal of Finance*, 68(3), pp. 929-985.
Baker, M. and Wurgler, J. (2006) 'Investor Sentiment and the Cross-Section of Stock Returns', *The Journal of Finance*, 61(4), pp. 1645-1680.
Baker, M. and Wurgler, J. (2007) 'Investor Sentiment in the Stock Market', *Journal of Economic Perspectives*, 21(2), pp. 129-152.
Baur, D.G. and Lucey, B.M. (2010) 'Is Gold a Hedge or a Safe Haven? An Analysis of Stocks, Bonds and Gold', *Financial Review*, 45(2), pp. 217-229.
Bollerslev, T. (1986) 'Generalized Autoregressive Conditional Heteroskedasticity', *Journal of Econometrics*, 31(3), pp. 307-327.
Boudoukh, J., Michaely, R., Richardson, M. and Roberts, M.R. (2007) 'On the Importance of Measuring Payout Yield: Implications for Empirical Asset Pricing', *The Journal of Finance*, 62(2), pp. 877-915.
Brinson, G.P., Hood, L.R. and Beebower, G.L. (1986) 'Determinants of Portfolio Performance', *Financial Analysts Journal*, 42(4), pp. 39-44.
Brock, W., Lakonishok, J. and LeBaron, B. (1992) 'Simple Technical Trading Rules and the Stochastic Properties of Stock Returns', *The Journal of Finance*, 47(5), pp. 1731-1764.
Calmar, T.W. (1991) 'The Calmar Ratio', *Futures*, October issue.
Campbell, J.Y. and Shiller, R.J. (1988) 'The Dividend-Price Ratio and Expectations of Future Dividends and Discount Factors', *Review of Financial Studies*, 1(3), pp. 195-228.
Cochrane, J.H. (2011) 'Presidential Address: Discount Rates', *The Journal of Finance*, 66(4), pp. 1047-1108.
Damodaran, A. (2012) *Equity Risk Premiums: Determinants, Estimation and Implications*. Working Paper, Stern School of Business.
Engle, R.F. (1982) 'Autoregressive Conditional Heteroskedasticity with Estimates of the Variance of United Kingdom Inflation', *Econometrica*, 50(4), pp. 987-1007.
Estrella, A. and Hardouvelis, G.A. (1991) 'The Term Structure as a Predictor of Real Economic Activity', *The Journal of Finance*, 46(2), pp. 555-576.
Estrella, A. and Mishkin, F.S. (1998) 'Predicting U.S. Recessions: Financial Variables as Leading Indicators', *Review of Economics and Statistics*, 80(1), pp. 45-61.
Faber, M.T. (2007) 'A Quantitative Approach to Tactical Asset Allocation', *The Journal of Wealth Management*, 9(4), pp. 69-79.
Fama, E.F. and French, K.R. (1989) 'Business Conditions and Expected Returns on Stocks and Bonds', *Journal of Financial Economics*, 25(1), pp. 23-49.
Fama, E.F. and French, K.R. (1992) 'The Cross-Section of Expected Stock Returns', *The Journal of Finance*, 47(2), pp. 427-465.
Garman, M.B. and Klass, M.J. (1980) 'On the Estimation of Security Price Volatilities from Historical Data', *Journal of Business*, 53(1), pp. 67-78.
Gilchrist, S. and Zakrajšek, E. (2012) 'Credit Spreads and Business Cycle Fluctuations', *American Economic Review*, 102(4), pp. 1692-1720.
Gordon, M.J. (1962) *The Investment, Financing, and Valuation of the Corporation*. Homewood: Irwin.
Graham, B. and Dodd, D.L. (1934) *Security Analysis*. New York: McGraw-Hill.
Hamilton, J.D. (1989) 'A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle', *Econometrica*, 57(2), pp. 357-384.
Ilmanen, A. (2011) *Expected Returns: An Investor's Guide to Harvesting Market Rewards*. Chichester: Wiley.
Jaconetti, C.M., Kinniry, F.M. and Zilbering, Y. (2010) 'Best Practices for Portfolio Rebalancing', *Vanguard Research Paper*.
Jegadeesh, N. and Titman, S. (1993) 'Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency', *The Journal of Finance*, 48(1), pp. 65-91.
Kahneman, D. and Tversky, A. (1979) 'Prospect Theory: An Analysis of Decision under Risk', *Econometrica*, 47(2), pp. 263-292.
Korteweg, A. (2010) 'The Net Benefits to Leverage', *The Journal of Finance*, 65(6), pp. 2137-2170.
Lo, A.W. and MacKinlay, A.C. (1990) 'Data-Snooping Biases in Tests of Financial Asset Pricing Models', *Review of Financial Studies*, 3(3), pp. 431-467.
Longin, F. and Solnik, B. (2001) 'Extreme Correlation of International Equity Markets', *The Journal of Finance*, 56(2), pp. 649-676.
Mandelbrot, B. (1963) 'The Variation of Certain Speculative Prices', *The Journal of Business*, 36(4), pp. 394-419.
Markowitz, H. (1952) 'Portfolio Selection', *The Journal of Finance*, 7(1), pp. 77-91.
Modigliani, F. and Miller, M.H. (1961) 'Dividend Policy, Growth, and the Valuation of Shares', *The Journal of Business*, 34(4), pp. 411-433.
Moreira, A. and Muir, T. (2017) 'Volatility-Managed Portfolios', *The Journal of Finance*, 72(4), pp. 1611-1644.
Moskowitz, T.J., Ooi, Y.H. and Pedersen, L.H. (2012) 'Time Series Momentum', *Journal of Financial Economics*, 104(2), pp. 228-250.
Parkinson, M. (1980) 'The Extreme Value Method for Estimating the Variance of the Rate of Return', *Journal of Business*, 53(1), pp. 61-65.
Piotroski, J.D. (2000) 'Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers', *Journal of Accounting Research*, 38, pp. 1-41.
Reinhart, C.M. and Rogoff, K.S. (2009) *This Time Is Different: Eight Centuries of Financial Folly*. Princeton: Princeton University Press.
Ross, S.A. (1976) 'The Arbitrage Theory of Capital Asset Pricing', *Journal of Economic Theory*, 13(3), pp. 341-360.
Roy, A.D. (1952) 'Safety First and the Holding of Assets', *Econometrica*, 20(3), pp. 431-449.
Schwert, G.W. (1989) 'Why Does Stock Market Volatility Change Over Time?', *The Journal of Finance*, 44(5), pp. 1115-1153.
Sharpe, W.F. (1966) 'Mutual Fund Performance', *The Journal of Business*, 39(1), pp. 119-138.
Sharpe, W.F. (1994) 'The Sharpe Ratio', *The Journal of Portfolio Management*, 21(1), pp. 49-58.
Simon, D.P. and Wiggins, R.A. (2001) 'S&P Futures Returns and Contrary Sentiment Indicators', *Journal of Futures Markets*, 21(5), pp. 447-462.
Taleb, N.N. (2007) *The Black Swan: The Impact of the Highly Improbable*. New York: Random House.
Whaley, R.E. (2000) 'The Investor Fear Gauge', *The Journal of Portfolio Management*, 26(3), pp. 12-17.
Whaley, R.E. (2009) 'Understanding the VIX', *The Journal of Portfolio Management*, 35(3), pp. 98-105.
Yardeni, E. (2003) 'Stock Valuation Models', *Topical Study*, 51, Yardeni Research.
Zweig, M.E. (1973) 'An Investor Expectations Stock Price Predictive Model Using Closed-End Fund Premiums', *The Journal of Finance*, 28(1), pp. 67-78.
Contrarian Period High & LowContrarian Period High & Low
This indicator pairs nicely with the Contrarian 100 MA and can be located here:
Overview
The "Contrarian Period High & Low" indicator is a powerful technical analysis tool designed for traders seeking to identify key support and resistance levels and capitalize on contrarian trading opportunities. By tracking the highest highs and lowest lows over user-defined periods (Daily, Weekly, or Monthly), this indicator plots historical levels and generates buy and sell signals when price breaks these levels in a contrarian manner. A unique blue dot counter and action table enhance decision-making, making it ideal for swing traders, trend followers, and those trading forex, stocks, or cryptocurrencies. Optimized for daily charts, it can be adapted to other timeframes with proper testing.
How It Works
The indicator identifies the highest high and lowest low within a specified period (e.g., daily, weekly, or monthly) and draws horizontal lines for the previous period’s extremes on the chart. These levels act as dynamic support and resistance zones. Contrarian signals are generated when the price crosses below the previous period’s low (buy signal) or above the previous period’s high (sell signal), indicating potential reversals. A blue dot counter tracks consecutive buy signals, and a table displays the count and recommended action, helping traders decide whether to hold or flip positions.
Key Components
Period High/Low Levels: Tracks the highest high and lowest low for each period, plotting red lines for highs and green lines for lows from the bar where they occurred, extending for a user-defined length (default: 200 bars).
Contrarian Signals: Generates buy signals (blue circles) when price crosses below the previous period’s low and sell signals (white circles) when price crosses above the previous period’s high, designed to capture potential reversals.
Blue Dot Tracker: Counts consecutive buy signals (“blue dots”). If three or more occur, it suggests a stronger trend, with the table recommending whether to “Hold Investment” or “Flip Investment.”
Action Table: A 2x2 table in the bottom-right corner displays the blue dot count and action (“Hold Investment” if count ≥ 4, else “Flip Investment”) for quick reference.
Mathematical Concepts
Period Detection: Uses an approximate bar count to define periods (1 bar for Daily, 5 bars for Weekly, 20 bars for Monthly on a daily chart). When a new period starts, the previous period’s high/low is finalized and plotted.
High/Low Tracking:
Highest high (periodHigh) and lowest low (periodLow) are updated within the period.
Lines are drawn at these levels when the period ends, starting from the bar where the extreme occurred (periodHighBar, periodLowBar).
Signal Logic:
Buy signal: ta.crossunder(close , prevPeriodLow) and not lowBroken and barstate.isconfirmed
Sell signal: ta.crossover(close , prevPeriodHigh) and not highBroken and barstate.isconfirmed
Flags (highBroken, lowBroken) prevent multiple signals for the same level within a period.
Blue Dot Counter: Increments on each buy signal, resets on a sell signal or if price exceeds the entry price after three or more buy signals.
Entry and Exit Rules
Buy Signal (Blue Circle): Triggered when the price crosses below the previous period’s low, suggesting a potential oversold condition and buying opportunity. The signal appears as a blue circle below the price bar.
Sell Signal (White Circle): Triggered when the price crosses above the previous period’s high, indicating a potential overbought condition and selling opportunity. The signal appears as a white circle above the price bar.
Blue Dot Tracker:
Increments blueDotCount on each buy signal and sets an entryPrice on the first buy.
Resets on a sell signal or if price exceeds entryPrice after three or more buy signals.
If blueDotCount >= 3, the table suggests holding; if >= 4, it reinforces “Hold Investment.”
Exit Rules: Exit a buy position on a sell signal or when price exceeds the entry price after three or more buy signals. Combine with other tools (e.g., trendlines, support/resistance) for additional confirmation. Always apply proper risk management.
Recommended Usage
The "Contrarian Period High & Low" indicator is optimized for daily charts but can be adapted to other timeframes (e.g., 1H, 4H) with adjustments to the period bar count. It excels in markets with clear support/resistance levels and potential reversal zones. Traders should:
Backtest the indicator on their chosen asset and timeframe to validate signal reliability.
Combine with other technical tools (e.g., moving averages, Fibonacci levels) for stronger trade confirmation.
Adjust barsPerPeriod (e.g., ~120 bars for Weekly on hourly charts) based on the chart timeframe and market volatility.
Monitor the action table to guide position management based on blue dot counts.
Customization Options
Period Type: Choose between Daily, Weekly, or Monthly periods (default: Monthly).
Line Length: Set the length of high/low lines in bars (default: 200).
Show Highs/Lows: Toggle visibility of period high (red) and low (green) lines.
Max Lines to Keep: Limit the number of historical lines displayed (default: 10).
Hide Signals: Toggle buy/sell signal visibility for a cleaner chart.
Table Display: A fixed table in the bottom-right corner shows the blue dot count and action, with yellow (Hold) or green (Flip) backgrounds based on the count.
Why Use This Indicator?
The "Contrarian Period High & Low" indicator offers a unique blend of support/resistance visualization and contrarian signal generation, making it a versatile tool for identifying potential reversals. Its clear visual cues (lines and signals), blue dot tracker, and actionable table provide traders with an intuitive way to monitor market structure and manage trades. Whether you’re a beginner or an experienced trader, this indicator enhances your ability to spot key levels and time entries/exits effectively.
Tips for Users
Test the indicator thoroughly on your chosen market and timeframe to optimize settings (e.g., adjust barsPerPeriod for non-daily charts).
Use in conjunction with price action or other indicators for stronger trade setups.
Monitor the action table to decide whether to hold or flip positions based on blue dot counts.
Ensure your chart timeframe aligns with the selected period type (e.g., daily chart for Monthly periods).
Apply strict risk management to protect against false breakouts.
Happy trading with the Contrarian Period High & Low indicator! Share your feedback and strategies in the TradingView community!






















